TabBarでタップされたら、たどっていた階層を一気にさかのぼる
UITabbarは、ほかのタブに移って、元のタブをタップすると
前の状態で表示されるが、
そこをあえてはじめのViewに戻したい場合
UI本のP82 3.2.3の「ルート画面まで一気にさかのぼる」
を実行すればいいが
はて、InterfaceBuilderで作り込んでいる場合は
どうすればいいかがわからなかったが
どうもAppDelegateにdidSelectViewControllerメソッドを
追加することでいけるらしい
// Optional UITabBarControllerDelegate method - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { [viewController popToRootViewControllerAnimated:NO]; }
ただし、これだけ書いてもDelegateの働きが伝わっていなければ
呼ばれないので、
IB上でTabBarControllerのDelegateとAppDelegateをつないでおくことが必要です。
DelegateをつないでおくっていうのはIBを使う上でのキモでしょうね。
Delegateの動きとかが見えてくると初心者から少し脱皮かな
と思ったりします。