2011-09-21 63 views
1

我是一个“新鲜”的iOS开发者,并试图如下解决的一个问题 -的iOS SDK - 重新初始化的UIView与原始配置

我试图建立一个游戏,我创建了一个项目。其中一个项目的视图 - 游戏会话 - 在运行过程中被修改(例如标签/按钮出现/消失等)。 现在,当游戏完成时,我想从默认配置开始重新加载自我视图。

由于[[self view] setNeedsDisplay]不这样做我不知道这个过程应该怎么做? 我可以建立一个方法,使所有的对象到默认状态,但我想这不是正确的方法来做到这一点。

回答

2

您必须在视图类中保持默认状态。创建UIView的子类,并制作一些方法,如-resetToDefaultState,您可以根据自己的需要进行操作。然后在视图控制器中调用该方法。或者把状态重置逻辑放在你的视图控制器本身,尽管我认为这可能是视图关心的“默认状态”甚至意味着什么。

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

(顺便说一句,-setNeedsDisplay无关用默认状态或者任何东西。它只是标志着视图脏,使其-drawRect:方法被调用的下一个主运行的循环周期。)

+0

明白了!谢谢你非常。 – Dudi

+0

不客气。 :) – LucasTizma

+0

@Dudi如果这回答了你的问题,你可能[想接受它](http://meta.stackexchange.com/q/5234/161198)。 – Bart