一種のカスケード メニューを実装しています。
私のストーリーボードには、ルートビューコントローラーとしてUINavigationController
ある がありUIViewController
ます (それが であるとしましょうMyViewController
)。MyViewController
絵コンテID「Menu」を持っています。
このコントローラーはメニューなので、tableView を表示します。セルをクリックすると、特に次のコードがトリガーされます。
UINavigationController *menuNavigator = (UINavigationController*)[self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
MyViewController *newMenu = (MyViewController*)menuNavigator.topViewController;
//Some configurations of newMenu
[self.navigationController pushViewController:newMenu animated:YES];
ここからすべてが正常に動作します。
サブメニューでは、最後のセルは「戻る」セルです。ユーザーがそれに触れると、コードがトリガーされます。
[self.navigationController popViewControllerAnimated:YES];
前のメニューに正しく戻りましたが、アニメーションはありません。
私も試しました:
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];
[self.navigationController popToRootViewControllerAnimated:YES];
しかし、私はまだアニメーションを持っていません。
ストーリーボードで、ナビゲーション コントローラーがナビゲーション バーを表示しないように設定されています。それを表示して、自動表示される「戻る」ボタンをタッチすると、同じ結果になります。アニメーションはありません。
コードの何が問題になっていますか?
編集
Autolayout と ARC を使用しています。