Я не пробовал, но согласно документам , вы можете вернуть NO от делегата tabBarController:shouldSelectViewController:
.
[ОБНОВЛЕНИЕ] Я просто попытался это из любопытства -кажется, работает нормально.Создайте новый проект из шаблона «Панель вкладок» и перейдите к -viewDidLoad
вашего FirstViewController.Добавьте эту строку:
[self.tabBarController setDelegate:self];
, а затем реализуйте метод делегата:
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if (userHasCompletedAction) {
return YES;
}
return NO;
}
Не забудьте соответствовать <UITabBarControllerDelegate>
в вашем файле .h!
Надеюсь, это поможет.