gpt4 book ai didi

swift - 进入前台后呈现 View

转载 作者:行者123 更新时间:2023-11-30 13:28:33 24 4
gpt4 key购买 nike

我有一个带有登录 View 的应用程序。在 appDelegate 中,我检查用户是否使用密码锁定应用程序。如果他这样做,他就会进入登录 View 。 (在didFinishLaunchingWithOptions中调用的代码)

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nav = storyboard.instantiateViewControllerWithIdentifier(Views.LoginVC.rawValue)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = nav
self.window?.makeKeyAndVisible()

登录后,我在不同的导航 Controller 中显示实际内容。

let vc = self.storyboard?.instantiateViewControllerWithIdentifier(Views.MainVC.rawValue)
let rootVC = UINavigationController(rootViewController: vc!)
self.presentViewController(rootVC, animated: false, completion: nil)

当关闭应用程序并再次输入时,appDelegate将再次检查用户是否使用密码。如果是,则再次调用第一个代码(我检查过,该代码被调用)(从 applicationWillEnterForeground 调用的代码)。但他没有进入登录 View ,而是停留在主要内容 View 。如果他再次离开,控制台中会弹出错误消息。

2016-04-25 20:50:52.714 Point[7222:123809] Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.

我需要更改什么,以便应用程序返回时再次显示登录 View ?如何避免此错误消息?

更新

我刚刚通过从 applicationDidBecomeActive 调用代码而不是 didFinishLaunchingWithOptions 解决了我的问题。我不知道为什么会这样,但它有效!

最佳答案

不,我认为您有一个错误。您应该将代码放在 applicationWillEnterForeground() 中,因为您希望每次用户运行应用程序时调用您的代码一次。

应用程序仍在屏幕上时处于“非事件状态”,但未处于事件状态。例如,如果您双击主页按钮,或者收到警报。每次应用从非事件状态转换为事件状态时,都会调用 applicationDidBecomeActive() 方法。

enter image description here

关于swift - 进入前台后呈现 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com