我有一个根视图控制器,可以打开一个新的模式视图控制器。当应用程序进入后台时,我关闭了顶视图,但是当应用程序再次打开时,有一瞬间,我看到了我刚刚关闭的视图,然后显示了根视图。
当应用再次激活时,如何防止显示顶部视图。
我试图在我可能想到的所有阶段取消顶视图(在应用程序委托上)(applicationWillResignActive,applicationDidEnterBackground,applicationWillEnterForeground,applicationDidBecomeActive)以及在顶视图本身上的viewWillDisappear都没有成功。该视图确实关闭,但是当该应用程序激活时,我可以在瞬间看到它。
当应用程序激活时,有人可以一直帮助我显示根视图吗?我不想对启动映像做任何事情,一切正常。我只是不希望该应用显示其他视图,而是启动/激活后显示根视图。如果这不可能,那么我可以显示图像,直到准备好显示根视图控制器为止吗?
谢谢。
最佳答案
在applicationDidEnterBackground
的结尾,操作系统将为您的UI拍照。苹果在the documentation中告诉我们:
当applicationDidEnterBackground:方法返回时,系统
为您的应用的用户界面拍照,然后使用结果
过渡动画的图像。如果界面中有任何视图
包含敏感信息,您应该隐藏或修改这些视图
在applicationDidEnterBackground:方法返回之前。
但是我敢打赌,您将以这种方式取消使用动画的模态视图控制器的功能,因此当它拍摄照片时,它将像拍摄动画时一样拍摄照片。您可以尝试将其设为非动画状态。这可能意味着在过渡到背景期间,用户会看到根视图控制器,但是不幸的是,我认为您将只能使用其中一个选项。