我实现了 UITabBarControllerDelegate 事件:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if (viewController == [tabBarController.viewControllers objectAtIndex:0]) {
//HERE:check some condition and cancel opening the viewController if needed
}
}
在上述功能中,在检查了一些条件后,我希望应用程序做一些其他事情(即打开另一个视图控制器),而不是打开用户在标签栏项目上选择的正确视图控制器。事件的行为:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
不符合我的要求。