2011-03-28 141 views
0

我在视图控制器类的UIView中调用drawRect方法。我有UIView类的对象,我使用[object setNeedsDisplay]调用drawRect方法。我遇到的问题是当我调用这个函数时,分支到这个函数没有发生。它首先完成在视图控制器中执行的功能,然后在UIView类中执行该功能。任何人都可以帮助我如何分支到UIView类,然后完成viewcontroller类的执行。我怎样才能让-drawRect执行?

感谢

回答

0

-setNeedsDisplay只是无效视图的矩形。下一次图形系统绘制屏幕时,它会要求视图重绘本身。这就是绘图的工作原理。在一个正确构建的应用程序中,您真的不应该在乎绘图何时发生。或者换一种说法,如果你关心绘图的发生,你的应用可能需要一些工作。

如果您告诉我们为什么需要在特定时间进行绘图,或许我们可以帮助您解决该问题。

+0

只需添加视图层次结构即可从上到下重新绘制。子视图在其父视图后重绘。 – TheBlack 2011-03-28 22:09:47

+0

将订单记忆为“回到前面”可能更容易。 – Caleb 2011-03-29 00:21:39

+0

在我的应用程序中,绘制了用户可以更改半径的圆。当用户首先改变半径时,我可以清除先前绘制的圆,然后用新的半径绘制。这里是我的代码graph_Drawing_Obj.current_Action = clearDrawingPadAction; \t [graphs_Drawing_Obj setNeedsDisplay]; radius = new_Rad; – pa12 2011-03-29 02:01:52