【问题标题】:How to reload view when application becomes active after suspended?暂停后应用程序变为活动状态时如何重新加载视图?
【发布时间】:2010-07-02 17:03:05
【问题描述】:

当用户在 iPhone 上更改设置中的 NsuserDefaults 并在我的应用暂停后激活我的应用时,我想重新加载活动视图。

我该怎么做?

【问题讨论】:

    标签: iphone nsuserdefaults ios4 multitasking


    【解决方案1】:

    您可以在应用程序委托中实现applicationDidBecomeActive: 方法,或在任何其他对象中注册UIApplicationDidBecomeActiveNotification 通知。

    【讨论】:

    • 感谢我最终在每个视图中注册通知。
    • 请注意,所有注册通知的对象都会收到它,而不仅仅是活动的。所以你可能会为不活跃的视图做一些事情!
    【解决方案2】:

    App Delegate 上的- (void)applicationWillEnterForeground:(UIApplication*)application 在退出挂起时被调用。

    实现这个方法,在它检查你的设置是否改变了,找到你最顶层的视图控制器然后重新加载它的视图。

    【讨论】:

    • 谢谢我正在更新 NSUserDefaults - (void)applicationDidBecomeActive:(UIApplication *)application;用你列出的方法做会更好吗?如何找到我的最顶层视图?
    • 如果您使用的是 UINavigationController,您可以使用 [navController topViewController] 找到它
    • 太棒了!我正在使用 tabbarcontroller,但我猜是 [[tabBarController.navigationController topViewController] setNeedsDisplay];会工作?以后得试试..
    猜你喜欢
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    相关资源
    最近更新 更多