ビューコントローラを作成した直後に、タブに割り当てています。タブをクリックした後に表示されるビューを選択することはできますか?
たとえば、//ユーザーがタブ1をクリックしますif(hasMessages)//ビューAを表示しますelse//ビューBを表示します
ビューコントローラを作成した直後に、タブに割り当てています。タブをクリックした後に表示されるビューを選択することはできますか?
たとえば、//ユーザーがタブ1をクリックしますif(hasMessages)//ビューAを表示しますelse//ビューBを表示します
はい、可能です。タブ コントローラーのデリゲートを設定する必要があります。
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];
}