Привет. Я пытаюсь изменить поток tabcontroller, поэтому, когда пользователь не вошел в систему, просто переведите его в окно входа в систему вместо настроек. Мой контроллер расширяет TabBarController, и я устанавливаю делегата как
self.tabBarController.delegate=self;
Мой код:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if (login) {
LoginViewController *loginViewController = [[LoginViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc]
initWithRootViewController:loginViewController];
[tabBarController presentViewController:loginViewController animated:YES completion:nil];
return NO;
} else {
return YES;
}
Мне никогда не удается выполнить навигацию, это дает исключение:
ion 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <UITabBarController: 0x6a72220>.
Я также пытался показать логин как модальный, но он показывает только черный экран:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if (YES) {
LoginViewController *loginViewController = [[LoginViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc]
initWithRootViewController:loginViewController];
[tabBarController presentModalViewController:navController animated:YES];
return NO;
} else {
return YES;
}
}
Кто-нибудь может мне помочь !!!! пожалуйста !!!! * * 1013