Objective c 是否可以擦除NSRectFill生成的图形?
我一直在使用Objective c 是否可以擦除NSRectFill生成的图形?,objective-c,cocoa,draw,erase,rect,Objective C,Cocoa,Draw,Erase,Rect,我一直在使用NSRectFill在屏幕上绘制矩形。我想删除这些矩形。我不能在它们上面画画,因为它们后面的背景是有纹理的,不能用纯色复制。这可能吗?我对Objective-C或Cocoa了解不多,所以我无法提供详细信息,但以下是我面向Windows的想法: 只需要求重新绘制窗口,然后不要绘制矩形。我对Objective-C或Cocoa了解不多,所以我无法提供详细信息,但我的Windows导向思维是这样想的: 只需请求重新绘制窗口,然后不要绘制矩形。只需再次绘制背景。只需再次绘制背景。Cocoa的工
NSRectFill
在屏幕上绘制矩形。我想删除这些矩形。我不能在它们上面画画,因为它们后面的背景是有纹理的,不能用纯色复制。这可能吗?我对Objective-C或Cocoa了解不多,所以我无法提供详细信息,但以下是我面向Windows的想法:
只需要求重新绘制窗口,然后不要绘制矩形。我对Objective-C或Cocoa了解不多,所以我无法提供详细信息,但我的Windows导向思维是这样想的:
只需请求重新绘制窗口,然后不要绘制矩形。只需再次绘制背景。只需再次绘制背景。Cocoa的工作原理与此相同。只需保留一个可变的矩形数组,并从数组中删除一个或多个矩形,然后调用
[视图设置需要显示:是]
来触发视图的重画。在视图的-drawRect:
方法中,只需绘制背景,然后循环遍历矩形数组并绘制每个矩形。您还可以设置需要显示提示:
并传递要删除的矩形,然后只重绘该矩形中的背景,并且只重绘与之相交的任何剩余矩形。Cocoa的工作方式相同。只需保留一个可变的矩形数组,并从数组中删除一个或多个矩形,然后调用[视图设置需要显示:是]
来触发视图的重画。在视图的-drawRect:
方法中,只需绘制背景,然后在矩形数组中循环并绘制每一个。您还可以设置需要显示提示:
并传递要删除的矩形,然后只重绘该矩形中的背景,并且只重绘与其相交的任何剩余矩形。