私はタブバーアプリケーションを持っています。ナビゲーションに戻るTabBarアプリのコントローラの最初のビュー
タブバーには2つのタブしかありません。最初のタブはNavigationController
で、NavigationController
には2つのビューがあり、ルートビューと詳細ビューは2番目にTableViewController
です。二番目の作品は完璧ですが、最初の作品は完璧ではありません。
最初のビュー(NavigationController
)から開始します。次に、NavigationView
の詳細ビューに進みます。次に、たとえば、2番目のタブバービューに移動します。その後、最初に戻ってきますが、ルートビューは表示されませんが、詳細ビューは表示されません。
毎回ルートビューを開くことはできますか?
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (viewController != tabBarItemForNavControllerTab) {
[self.navControllerInFirstTab popToRootViewControllerAnimated:NO];
}
}
また、あなたのUITabBarController
を作成するときに、デリゲートは、適切に設定されていることを確認し、あなたのコントローラ名に合わせて私のスニペットからのコードを変更:
このクラスではこのコードを配置する必要がありますか? –
@EugeneTrapeznikov UITabBarControllers親コントローラ内。代理人の仕組みが分からない場合は、[**記事**](http://thinkvitamin.com/code/ios/ios-design-patterns-delegation-part-2/)をお読みください。 – dom
デリゲートをプログラムで設定できますか? self.tabBarController.delegate = selfです。それは大丈夫ですか? –