在drawRect方法中删除形状? - 目标C.

时间:2013-06-27 07:17:33

标签: iphone ios objective-c ipad

我使用drawRect方法绘制了一个矩形。我需要更新这个矩形。

但我不知道如何创建它的实例。

我需要删除先前绘制的矩形(或)更改先前绘制的矩形的框架。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

系统会跟踪您认为哪个部分视图“脏”(需要绘制)。首次创建视图时,整个视图都是脏的。将setNeedsDisplay发送到视图时,会将整个视图标记为脏。如果您发送setNeedsDisplayInRect:,则会将指定的CGRect添加到视图中被视为脏的部分。

在系统向您的视图发送drawRect:消息之前,它会将视图的整个脏区域清除为视图的背景颜色。因此,如果您想要删除先前绘制的矩形时将setNeedsDisplay发送到视图,则无需担心在drawRect:中删除矩形;系统已经为你删除了它。但这也意味着,如果脏区域中有任何东西想要删除,必须再次绘制,然后才能从drawRect:返回。< / p>