1

ビューコントローラを作成した直後に、タブに割り当てています。タブをクリックした後に表示されるビューを選択することはできますか?

たとえば、//ユーザーがタブ1をクリックしますif(hasMessages)//ビューAを表示しますelse//ビューBを表示します

4

1 に答える 1

1

はい、可能です。タブ コントローラーのデリゲートを設定する必要があります。

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.delegate = self;  // or whatever suitable class you have

このデリゲートは、UITabBarControllerDelegateプロトコルに準拠する必要があります。

デリゲートで実装tabBarController:didSelectViewController:し、その中に表示するビューを見つけます。タブのルート ビュー コントローラーがナビゲーション コントローラーであると仮定すると、デリゲート メソッドの実装は次のようになります。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    /* logic goes here */

    [viewController pushViewController:someNewVC animated:YES];
}
于 2012-10-11T19:25:33.520 に答える