Ios 如何禁用iPhone和iPad设备的旋转动画
我使用了这些问题中的以下代码来禁用旋转动画。它适用于iPhone设备,但不适用于iPad 所讨论的视图控制器是以模式显示的导航控制器的根视图控制器 有人知道为什么以下方法适用于iPhone而不是iPad吗Ios 如何禁用iPhone和iPad设备的旋转动画,ios,iphone,ipad,swift3,Ios,Iphone,Ipad,Swift3,我使用了这些问题中的以下代码来禁用旋转动画。它适用于iPhone设备,但不适用于iPad 所讨论的视图控制器是以模式显示的导航控制器的根视图控制器 有人知道为什么以下方法适用于iPhone而不是iPad吗 override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { coordinator.animate(alongsideTra
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
coordinator.animate(alongsideTransition: nil) { _ in UIView.setAnimationsEnabled(true) }
UIView.setAnimationsEnabled(false)
super.viewWillTransition(to: size, with: coordinator)
}
堆栈溢出问题
它无法工作,因为ipad旋转时屏幕大小并没有改变(或者变化不大)。一旦我关闭了一个屏幕的纵向方向,这个方法就有问题了。我的解决方案是通过观察通知来捕捉设备方向。但在这种情况下,您将只有“did rotate”状态。根据我的测试,您似乎可以禁用iPhone的旋转动画,但当涉及到iPad时,动画由系统处理,无法与之交互 所以我想得出结论,在当前公共api的情况下,你不能在iPad上禁用旋转动画