0

内部にナビゲーションコントローラーとビューコントローラーを備えたタブバーアプリケーションがあります。並べるとこんな感じ。

Tab Bar 1
- Navigation Controller
-- Root View Controller
-- Other view controller

Tab Bar 2
- Navigation Controller
-- Root View Controller

私がやりたいことは、Tab Bar 1 の Other ビュー コントローラーに移動してから、Tab Bar 2 に切り替えるときに、Tab Bar 1 をルート ビュー コントローラーに戻すことです。

私が探している動作は、iPod アプリに似ています。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

「Tab Bar Application」テンプレートから始めたように聞こえるので、おそらくアプリのデリゲートは UITabBarController のデリゲートでもあります。UITabBarControllerDelegate には次のメソッドがあります。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

このメソッドでは、'viewController' が最初のナビゲーション コントローラーであるかどうかを確認し、そうである場合は、ナビゲーション コントローラーの viewControllers プロパティを、ルート ビュー コントローラーがインデックス 0 の子ビュー コントローラーの配列に設定します。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    if (viewController == firstNavController)
        viewController.viewControllers = [NSArray arrayWithObjects:rootViewController, otherViewController, nil];
}
于 2010-11-27T00:34:40.403 に答える