【问题标题】:iOS SDK - reinitializing UIView with original configurationiOS SDK - 使用原始配置重新初始化 UIView
【发布时间】:2011-09-21 11:47:18
【问题描述】:

我是一名“新鲜”的 iOS 开发人员,正在尝试按以下方式解决问题 -

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

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

【问题讨论】:

    标签: iphone objective-c ios4


    【解决方案1】:

    您必须在视图类中保持默认状态。创建UIView 的子类并创建一些方法,例如-resetToDefaultState,您可以在其中做您想做的事情。然后只需在视图控制器中调用该方法。或者将状态重置逻辑放在您的视图控制器本身中,尽管我认为这可能是视图关心“默认状态”甚至意味着什么。

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 2010-10-02
    相关资源
    最近更新 更多