我在创建后立即将视图控制器分配给我的选项卡。是否可以选择单击选项卡后显示的视图?
例如 //用户点击标签1 如果(hasMessages) //显示视图A. 其他 //显示视图B
答案 0 :(得分: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];
}