-1

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

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

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

我怎样才能做到这一点?

4

1 回答 1

0

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

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

于 2013-06-27T07:29:03.540 回答