我没有iOS 10的物理设备来测试它,但在模拟器中运行iOS 10的任何设备中,应用程序不会旋转,它会保持纵向。但是,在iOS 11中,它旋转正常。在Info.plist中检查所有方向框以及我是否使用或省略(这是整个应用程序中处理方向的唯一代码):
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.allButUpsideDown
}
在任何视图控制器(root或其他)中,它在iOS 10中没有任何影响。该应用程序完全基于约束,并且有导航控制器,我读过它可能会导致问题。但是那些答案中提出的所有内容对我都不起作用。有些东西阻止了应用程序在iOS 10中旋转,我无法弄明白。
此方法在iOS 10中也不返回任何内容(但在iOS 11中有效):
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
if size.width > size.height {
print("orientation: \(UIDevice.current.orientation)")
} else {
print("orientation: \(UIDevice.current.orientation)")
}
}
我已禁用应用中的所有内容,但iOS 10中仍然没有。
答案 0 :(得分:0)
这是仅在iPhone 6 plus模拟器中看到的问题。当我们在设备或其他模拟器iPhone 6,iPhone 7,SE中运行时,它工作正常。此问题在iPhone 6 plus设备中也没有出现。