1

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

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

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

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

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

4

1 回答 1

9

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

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

于 2012-11-14T12:35:01.637 回答