Ios:当应用程序处于非活动状态时,如何让我的应用程序返回根视图

Posted

技术标签:

【中文标题】Ios:当应用程序处于非活动状态时,如何让我的应用程序返回根视图【英文标题】:Ios: How can I make my app go back to root view when App goes Inactive 【发布时间】:2012-08-21 23:55:18 【问题描述】:

我希望我的应用在处于非活动状态时返回登录屏幕(导航控制器中的根视图)。

我在 applicationWillResignActive 并且 appdelegate.m 无法识别 self.navigationController

我尝试在故事板中使用 ctrl 拖动在 appdelegate.h 中创建一个插座或导航控制器,但它不会让我这样做。

那么有谁知道如何让它在不活动时切换到特定视图?

【问题讨论】:

我喜欢 [this][1] 的答案。完美地为我工作 [1]:***.com/questions/18734529/… 【参考方案1】:

当您的应用返回时,您可以通过在 applicationWillEnterForeground 或 applicationDidBecomeActive 方法中执行该代码来显示原始 uiviewcontroller

快速代码

- (void)applicationWillEnterForeground:(UIApplication *)application

    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
    [navigationController popToRootViewControllerAnimated:YES];

我确信这不是唯一或最好的方法,但它在技术上有效

【讨论】:

感谢您的编辑。那行得通,不过我把它放在 willResignActive 中。

以上是关于Ios:当应用程序处于非活动状态时,如何让我的应用程序返回根视图的主要内容,如果未能解决你的问题,请参考以下文章

应用程序处于非活动状态时无法接收静默通知 iOS

当应用程序处于非活动状态时,GCM 推送通知不适用于 iOS

当应用程序处于非活动状态并运行代码时,Swift iOS 应用程序会收到推送通知

iOS 在应用程序处于非活动状态时处理动态链接

当应用程序处于非活动状态时可以接收 UIAccelerometer 更新吗?

当应用程序处于活动状态时,iOS 处理推送通知点击