UITabBarController & UINavigationController タブをクリックしたときにメインのViewに戻りたい
たいへーーーーん
iPhoneアプリ初心者です。。。。
こんな事を調べるのに結構な時間を使ってしまいました。。。ということで備忘兼情報共有。
シチュエーション(わかりづらいです)
タブの一番目の要素(一番左です)にはUINavigationControllerを使ってます。
UINavigationControllerには複数のControllerを突っ込んでます。アプリ起動をし、初めのコントローラー(AController)より別のコントローラー(BController)へ飛びましたと。そのあとタブにて他のコントローラー(CController)に飛びましたと。そのあと一番左のタブをクリックすると基本的にはBControllerが表示されます。が、この動作にてAControllerを表示したい!!!そんな場合は以下な感じで動きました。
解法
アプリケションデリゲートにて
- (void)applicationDidFinishLaunching:(UIApplication *)application { ....... [_tabBarController setDelegate:self]; } - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { if(tabBarController.selectedIndex == 0){ [(UINavigationController *)viewController popViewControllerAnimated:false]; } }
あと@interfaceにてUITabBarControllerDelegateを指定してくださいな。
後書き
所詮は初心者の戯れ言、間違ってるかもしれませんので自己責任でよろしくお願いします。ツッコミ大歓迎です。正しいお行儀を教えてくれる方の優しさをお待ちしております。