iOS 9方向自动旋转动画不起作用,但始终在主线程上

时间:2015-09-29 15:49:18

标签: ios swift animation screen-rotation

iOS 9.0(13A340) Xcode 7.0(7A220) OS X 10.10.5(14F27)

我有一种情况,如果我旋转模拟器或设备(使用iPhone 6s sim和iPhone 6+设备),动画也不会发生。我不确定为什么会这样。我没有使用任何UIKit方法做任何异常或疯狂的事情,而且我没有调用任何不在主线程上的方法。另外,我添加的其他UIView动画看起来效果很好。只是旋转被打破了。其他应用似乎很好。我不确定自己可能做错了什么。

No rotation animation

试图找出/解决:

  • 使用this extension by Cocoanetics尝试查看主线程上是否有任何UIKit执行。
  • 在程序执行的多个位置打印出UIView.areAnimationsEnabled()的值。它始终打印true
  • 设置UIView.setAnimationsEnabled(true)无法修复。

我正在使用自定义" nav"视图控制器(我制作的一个):SASlideDrawer(注意我仅在此项目中遇到同样的问题)

谢谢。

4 个答案:

答案 0 :(得分:19)

在我的情况下,我有目标"主界面"设置并在application:didFinishLaunchingWithOptions:我一直在创建新窗口和新的rootViewController

答案 1 :(得分:1)

我在app delegate中实例化我自己的导航控制器视图控制器堆栈。我通过从项目文件中删除Main接口来解决问题。

答案 2 :(得分:0)

我正面临着类似的错误。 http://imgur.com/gallery/Q3OXCIH

状态栏(具有时钟和电池图标)会发生旋转动画,但视图本身只会改变大小,它不会执行页面翻转动画。

这有点可重复 - 首先,旋转正确,但在我以编程方式更改选项卡视图控制器索引后,它可以触发。触发后,在重置应用程序之前,视图不会发生旋转动画。

代码,我更改选项卡视图控制器,然后将其更改回来:

arrayOfRedirectLinks[i]

答案 3 :(得分:0)

我确实更改了常规设置,并通过删除主界面和启动屏幕文件来解决此问题。