我是一名“新手”的iOS开发人员,并尝试解决以下问题 -
我正在尝试制作一款游戏,并创建了一个包含3个UITabBarController
项的UINavigationController
。其中一个项目的视图 - 游戏会话 - 在运行期间被修改(例如标签/按钮出现/消失等)。
现在,当游戏完成后,我想从默认配置开始重新加载自我视图。
由于[[self view] setNeedsDisplay]
没有这样做,我想知道应该如何完成这个过程?
我可以构建一个方法,将所有对象都置于默认状态,但我想这不是正确的方法。
答案 0 :(得分:2)
您必须在视图类中保持默认状态。创建一个UIView
的子类,并制作一些像-resetToDefaultState
这样的方法来执行您想要的操作。然后在视图控制器中调用该方法。或者将状态重置逻辑放在视图控制器本身中,尽管我认为可能视图关注的是“默认状态”甚至意味着什么。
然后,在该方法中,只需重置变量标签和属性。作为副作用,您可以在视图的init
方法中调用此方法,这样就不会复制默认状态代码。
(顺便说一句,-setNeedsDisplay
与默认状态或任何事情无关。它只是将视图标记为脏,以便在下一个主运行循环周期调用其-drawRect:
方法。)