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];
}