我使用drawRect
方法绘制了一个矩形。我需要更新这个矩形。
但我不知道如何创建它的实例。
我需要删除先前绘制的矩形(或)更改先前绘制的矩形的框架。
我该怎么做?
答案 0 :(得分:0)
系统会跟踪您认为哪个部分视图“脏”(需要绘制)。首次创建视图时,整个视图都是脏的。将setNeedsDisplay
发送到视图时,会将整个视图标记为脏。如果您发送setNeedsDisplayInRect:
,则会将指定的CGRect
添加到视图中被视为脏的部分。
在系统向您的视图发送drawRect:
消息之前,它会将视图的整个脏区域清除为视图的背景颜色。因此,如果您想要删除先前绘制的矩形时将setNeedsDisplay
发送到视图,则无需担心在drawRect:
中删除矩形;系统已经为你删除了它。但这也意味着,如果脏区域中有任何东西不想要删除,必须再次绘制,然后才能从drawRect:
返回。< / p>