Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何禁用iPhone和iPad设备的旋转动画_Ios_Iphone_Ipad_Swift3 - Fatal编程技术网

Ios 如何禁用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

我使用了这些问题中的以下代码来禁用旋转动画。它适用于iPhone设备,但不适用于iPad

所讨论的视图控制器是以模式显示的导航控制器的根视图控制器

有人知道为什么以下方法适用于iPhone而不是iPad吗

 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上禁用旋转动画