我想重绘一个视图

时间:2011-04-03 04:36:55

标签: iphone view redraw

我想重绘一个视图。 当我触摸按钮时,我的视图必须重绘。 (必须调用viewWillAppear)

但是view的setNeedDisplay方法不会立即重绘。 因为我必须立即重绘它,所以这种方法不适合我。

我试图删除所有viewController的视图子视图并更改viewController  查看其他视图。 但这些都行不通。 (不要重绘)

我急需你的帮助。

感谢您的阅读。

2 个答案:

答案 0 :(得分:4)

我认为这里存在一些误解。让我们把事情做好:

  1. viewWillAppear:与视图的绘制无关。
  2. setNeedsDisplay确实不会立即重绘视图,但我们正在谈论毫秒。所以这甚至不相关。
  3. 由于你想要viewWillAppear:被调用,我假设你所谓的重绘视图真的应该被称为中继视图。我假设你在viewWillAppear:中所做的是设置你的视图的帧,并可能添加/删除和/或显示/隐藏一些视图。

    我建议您将该代码移出viewWillAppear:并将其移入自己的方法,该方法将从viewWillAppear:调用,并点按该按钮。

    由于您未提供viewWillAppear:代码,这完全取决于假设,因此如果我的假设有误,请告诉我,并请提供您的“重绘”代码。

答案 1 :(得分:1)

如果没有更多细节,很难确切知道你需要什么,但我建议你看看UIView :: setNeedsDisplay。这将导致您的视图drawRect:被调用,您可以在其中更新绘图。