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