2013-06-27 109 views
-1

我有一个使用drawRect方法绘制的矩形。我需要更新这个矩形。在drawRect方法中删除形状? - ObjectiveC

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

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

我该怎么做?

+0

在drawRect中,通常只需清除矩形,然后再绘制它。请添加您的代码。 – Wain

+0

你需要重绘整个绘图修改后的数据 – samfisher

回答

0

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

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

+0

ok ..假设我有一个subUIView在这个矩形的范围内。如果我为那个矩形做clearRect,subUIView会被删除吗? –