我已经使用以下代码从这些问题禁用旋转动画。它适用于iPhone设备,但不适用于iPads。
所讨论的视图控制器是正在以模式呈现的导航控制器的根视图控制器。
有人知道为什么以下方法会在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)
}StackOverflow问答器
Disable orientation change rotation animation
In 7.3/9/2+ Swift how to disable rotation animation, when device rotates?
发布于 2017-05-17 14:23:43
从我的测试中可以看出,您可以禁用iPhones的旋转动画,但是当涉及到iPad时,动画是由系统处理的,因此不可能与其交互。
因此,考虑到当前的公共api,我认为不能禁用iPad上的旋转动画。
发布于 2017-03-26 10:18:19
它不能工作,因为屏幕大小没有改变在ipad的旋转(或变化不大)。有一次我关闭了一个屏幕的肖像方向,我对这个方法有了问题。我的修正是通过观察通知来捕获设备方向。但在这种情况下,您将只有“确实旋转”状态。
https://stackoverflow.com/questions/43026457
复制相似问题