【问题标题】:Why does my iPhone App remember its UI state partially?为什么我的 iPhone 应用程序会部分记住它的 UI 状态?
【发布时间】:2010-09-20 15:29:55
【问题描述】:

我制作了一个带有按钮和 UISlider 的小型测试应用程序。触摸按钮会更改其标签文本。 我为这两个控件添加了 IBOutlet 属性。我正在释放 viewDidUnload 中的所有属性,并在 dealloc 中将它们设置为 nil。

现在有趣的是:我触摸了按钮。它的标签从“0”更改为“1”,并且它的文本被更新:标签== 1 -> “B”,标签== 0 -> “A”。所以文本现在说“B”。 然后我关闭应用程序(iPhone 的主页按钮)并重新启动它。 按钮仍然显示“B”!这怎么可能? App没有终止吗?

在 iPhone 4 上运行 iOS4.1。

勒内

【问题讨论】:

    标签: objective-c cocoa-touch ios4


    【解决方案1】:

    你是对的。该应用程序未终止。在 iOS 4 中,当按下主页按钮时,应用程序会暂停。当您“重新启动”应用程序时,它只是移动到前台。这就是为什么您的应用程序状态没有改变的原因。注意:一旦暂停,应用程序可能会在不通知的情况下被操作系统终止,因此请确保在应用程序暂停之前完成所有保存,例如,applicationDidEnterBackground:

    【讨论】:

    • 我可以强制应用程序“死”吗?我的意思是,我可以调用“applicationDidEnterBackground”中的任何内容来真正结束应用程序吗?
    • 防止您的应用被暂停的适当方法是选择退出。在应用程序的 Info.plist 文件中,将 UIApplicationExitsOnSuspend 的值设置为 YES。如果这样做,当用户点击主页按钮时,应用程序委托的 applicationWillTerminate: 方法将被调用,然后您的应用程序将终止。
    猜你喜欢
    • 2016-12-13
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多