iOS SDK - 使用原始配置重新初始化UIView

时间:2011-09-21 11:47:19

标签: iphone objective-c ios4

我是一名“新手”的iOS开发人员,并尝试解决以下问题 -

我正在尝试制作一款游戏,并创建了一个包含3个UITabBarController项的UINavigationController。其中一个项目的视图 - 游戏会话 - 在运行期间被修改(例如标签/按钮出现/消失等)。 现在,当游戏完成后,我想从默认配置开始重新加载自我视图。

由于[[self view] setNeedsDisplay]没有这样做,我想知道应该如何完成这个过程? 我可以构建一个方法,将所有对象都置于默认状态,但我想这不是正确的方法。

1 个答案:

答案 0 :(得分:2)

您必须在视图类中保持默认状态。创建一个UIView的子类,并制作一些像-resetToDefaultState这样的方法来执行您想要的操作。然后在视图控制器中调用该方法。或者将状态重置逻辑放在视图控制器本身中,尽管我认为可能视图关注的是“默认状态”甚至意味着什么。

然后,在该方法中,只需重置变量标签和属性。作为副作用,您可以在视图的init方法中调用此方法,这样就不会复制默认状态代码。

(顺便说一句,-setNeedsDisplay与默认状态或任何事情无关。它只是将视图标记为脏,以便在下一个主运行循环周期调用其-drawRect:方法。)

相关问题