3 つの項目を持つタブ バーがあります。それぞれが を指しUINavigationController
ます。それぞれの下UINavigationController
にいくつかviewControllers
あります。タブバーの項目が押されたときに、ナビゲーションの最初のコントローラーにリセットしたいと考えています。
TabBarController
実装を次のように指定しましたdelegate
self.delegate = self
以下の私のメソッド(私のTabBarController
実装で実行すると、 UINavigationControllers
.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"%@", viewController);
}
ログファイルが表示されている場合
UINavigationController: 0x8a31a90>2012-12-31 02:16:40.035 Demo[6142:c07]
このメソッドを試してみるとpopToRootViewController
、popViewController
うまくいかないようです。エラーは発生しませんが、viewControllers
リセットされません。ここで非常に基本的なエラーを犯したようですが、何がわかりません。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"%@", viewController);
[self.navigationController popToRootViewControllerAnimated:YES];
[[self navigationController] popViewControllerAnimated:YES];
}