2012-11-13 62 views
1

我發現了一些奇怪的行爲,我無法在iOS應用中解釋。UINavigatorController popViewController:動畫顯示iOS 5.1中的奇怪行爲,但不是iOS 6

我使用嵌入在UITabBarController子類中的標準UINavigationController。

當我在NavigationController上推一個ViewController時,動畫就好了。但是,在View中彈出一個ViewController時,彈出式動畫會從屏幕的頂部到下部,與預期的從右到左的標準行爲形成鮮明對比。

更令人奇怪的是,TabBar包含在動畫過渡中,這在縱向模式中也不是這樣。

這隻發生在iOS 5設備上,目前我只是不知道爲什麼發生這種情況。

回答

9

我們找到了解決方案。問題是第一個視圖控制器實現shouldAutorotateToInterfaceOrientation,只允許旋轉UIInterfaceOrientationPortrait - 這並不明顯,因爲它實際上正確旋轉到任何(全局允許的)方向。

所以,這個屬性只對push和pop行爲有影響。現在,兩個視圖控制器(第一個和正在推送的)實現shouldAutorotateToInterfaceOrientationreturn YES;。現在動畫是正確的(從左到右,反之亦然,在橫向模式下,而不是從右到左按下時,從上到下彈出)。