UINavigatorController popViewController:动画显示iOS 5.1中的奇怪行为,但不显示iOS 6中的行为

时间:2012-11-13 15:53:05

标签: ios5 uinavigationcontroller popviewcontrolleranimated

我发现了一些我无法在iOS应用中解释的奇怪行为。

我使用嵌入在UITabBarController子类中的标准UINavigationController。

当我在NavigationController上推送ViewController时,动画就可以了。但是当在Landscape中弹出ViewController时,弹出动画从屏幕顶部发生到下端,而不是预期的从右到左的标准行为。

更奇怪的是TabBar包含在动画过渡中,在纵向模式下也不是这样。

仅在iOS 5设备上发生这种情况,目前我还不知道为什么会这样。

1 个答案:

答案 0 :(得分:9)

我们找到了解决方案。问题是第一个视图控制器实现shouldAutorotateToInterfaceOrientation只允许UIInterfaceOrientationPortrait的旋转 - 这并不明显,因为它实际上正确地旋转到任何(全局允许的)方向。

因此,此属性仅对推送和弹出行为产生影响。现在,两个视图控制器(第一个和正在推送的控制器)都使用shouldAutorotateToInterfaceOrientation实现return YES;。现在动画是正确的(从左到右,反之亦然,横向模式,而不是从右到左,在弹出时从上到下)。