如何应用重启时设置更改?

时间:2011-08-13 21:34:02

标签: iphone ios4 settings

我使用Xcode 4在iPhone iOS 4上开展项目。

我有一个UIButton视图。 UIButton的标题在viewDidLoad中设置。因此,当应用程序启动时,Button会有一个标题。

但是,我的应用有一个设置包,按钮标题也可以在设置应用中更改。所以我在主页按钮上退出,我的应用程序退出,我转​​到设置应用程序,并设置一个新的按钮标题。

当我退出设置并重新启动我的应用时,按钮标题不会刷新,它是旧的按钮标题。一切都像我离开的那样。

只有当我关闭iPhone,然后打开并重新启动我的应用程序(即完全重启)按钮具有新标题。

如何在应用程序(未完整)重新启动时确保按钮标题发生变化?

谢谢。

3 个答案:

答案 0 :(得分:2)

您想要更新applicationDidEnterForeground中的设置。当它恢复时会被调用。

编辑:有错字,应该是

- (void)applicationWillEnterForeground:(UIApplication *)application

请参阅文档:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

答案 1 :(得分:0)

我错误地认为,当应用程序从“设置”应用程序切换回来后,当应用程序再次变为活动状态时,viewWillAppear消息将被发送到ViewController。但是,当应用程序变为活动状态时会发布通知,因此您应该可以通过注册ViewController来接收UIApplicationDidBecomeActiveNotification通知来完成所需的操作:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshButtonTitle:) name:UIApplicationDidBecomeActiveNotification object:nil];

然后在ViewController中创建适当的方法,以便在触发通知时调用:

- (void)refreshButtonTitle:(NSNotification *)notification {
// update the title of your button here
}

答案 2 :(得分:0)

您可以注册接收NSUserDefaultsDidChangeNotification,然后采取相应措施更新您的用户界面。

相关问题