1

iOSアプリのストーリーボードに取り組んでいます。私は、アプリ全体で横向きが適切に機能することを確認している段階にあります。残っている問題が1つあります。それは、電話が横向きモードで、スタックからビューコントローラをポップした場合、戻るボタンを使用して、アニメーションは、一般的な方法ではなく、ビューを右にスライドすることでポップします。

アプリの構造は次のとおりです。

1 UITabBarController
   2 UINavigationController
      3 UITableViewController
   2 UINavigationController
      3UIViewController

最初のテーブル(のあるテーブルUITableViewController)では、戻るアニメーションは期待どおりに機能します(右に移動します)が、2番目のタブでは、アニメーションが正しく機能していません。すべてのプッシュとポップは、コードではなくストーリーボードを介して処理されます。

何か案は?

4

2 に答える 2

1

モーダルビューコントローラーには4つの基本アニメーションスタイルがあり、ナビゲーションコントローラーのプッシュのように機能するものはありません。したがって、セグエが正しく定義されていないか、コードから「提示」されている可能性が非常に高くなります。

ストーリーボードのセグエが「プッシュ」であり、モーダルではないことを確認します。これはInterfaceBuilderで確認できます-ストーリーボードに移動し、セグエ接続線をクリックします。セグエ名が識別されているオブジェクトインスペクターでは、そのすぐ下に「モーダル」ではなく「プッシュ」と表示されているはずです。「モーダル」と表示されている場合は、「プッシュ」に変更すると、アニメーションが自動的に修正されます。

また、コードでpreformSeque ...メソッドを使用して次のビューコントローラーを表示し、presentModalViewController...のようなことをしていないことを確認してください。

于 2012-09-10T13:59:21.600 に答える
1

私の間違い!

shouldAutorotateToInterfaceOrientationすべてのViewControllerでメソッドを更新するのを忘れました。オリジナルは次のとおりです。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

すべての方向に回転できるようにする必要があるのは次のとおりです。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}


厄介なのは、スーパービューで回転コードが適切に更新されたが、サブビューでは更新されなかったため、ビューがすでに横向きに回転していたことです。

于 2012-09-10T15:37:23.240 に答える