问题描述
在iOS14设备中,我的应用程序不会加载视图控制器,而只会冻结该应用程序。
self.navigationController!.pushViewController(itemDetailVC,animated: true)
在iOS 14以下的所有设备上,它都可以正常工作。但是这里它不会加载下一个视图控制器。
在调试时,我发现从未调用过viewDidAppear
。
其他任何面临此类问题的人。
谢谢。
解决方法
在UINavigationController过渡动画中遇到非常奇怪的问题。导致的视图控制器出现损坏和移位。真是难以置信。
问题是由于视图控制器重写功能上的错误所致。仔细检查您的onViewWill / onViewDidAppear。应该覆盖正确的功能
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
Logger.verbose(topic: .appState,message: "viewWillAppear")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
Logger.verbose(topic: .appState,message: "viewDidAppear")
}
此外,如果您使用的是UITabBarController,请确保在那里也正确地完成了同样的事情。