繁体   English   中英

在 iOS 13+ 中,即使使用 UIModalPresentationStyle.FullScreen 从后台返回时也不会调用 iOS viewWillAppear

[英]iOS viewWillAppear not being called when returning from background, even with UIModalPresentationStyle.FullScreen, in iOS 13+

当我们的应用程序从后台返回时,为什么 iOS 不调用viewWillAppear ,即使我已经设置了UIModalPresentationStyle.FullScreen

viewWillAppear是一个响应视图控制器状态变化的函数。 背景和前景状态不同; 它们是在应用程序级别完成的。

您仍然可以使用通知来响应应用程序状态更改:

override func viewDidAppear(_ animated: Bool) {
    // ...
    NotificationCenter.default.addObserver(self, selector: #selector(didReceiveForegroundNotification), name: UIApplication.willEnterForegroundNotification, object: nil)
}

@objc func didReceiveForegroundNotification() {
    // app returned from the background
}

您的视图控制器将监听事件,直到它作为观察者被释放或移除。 如果不想在视图控制器消失时执行代码,可以在viewDidDisappear 上执行

override func viewDidDisappear(_ animated: Bool) {
    // ..
    NotificationCenter.default.removeObserver(self)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM