我在Appdelegate的didFinishLaunchingWithOptions方法中有一些代码,根据代码显示不同的ViewController。添加此代码动画后不显示方向将更改。但如果我删除此代码然后动画显示有人解释我如何解决这个问题?这是代码。
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var vc:UIViewController
if (UserDefaults.standard.object(forKey: "Person") as? Bool) == nil {
vc = storyboard.instantiateViewController(withIdentifier: "FirstNavigationView")
}else{
vc = storyboard.instantiateViewController(withIdentifier: "MainView")
}
self.window?.rootViewController = vc
self.window?.makeKeyAndVisible()
答案 0 :(得分:1)
在视图控制器中添加以下代码并尝试
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
coordinator.animate(alongsideTransition: nil, completion: {
_ in
UIView.setAnimationsEnabled(true)
})
UIView.setAnimationsEnabled(true)
super.viewWillTransition(to: size, with: coordinator)
}