0
こんにちは、私はTabControllerのフローを変更しようとしているので、ユーザーがログインしていないときに、ログインビューに設定してください。私のコントローラはTabBarControllerを拡張し、私は TabBarControllerは、セグをするためにSelectViewControllerを上書きする
self.tabBarController.delegate=self;
マイコードがある
としてデリゲートを設定します。私も試したion 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <UITabBarController: 0x6a72220>.
:
- (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;
}
私は、ナビゲーションを行うために管理することはありませんが、それはexcetionを与えますログインをモーダルとして表示しますが、黒い画面しか表示されません:
- (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;
}
}
誰かが私を助けることができる!!お願いします!!!!
トリックを作っ
。私は次のことをしなければなりませんでした:modalPresentationStyleをUIModalPresentationFormSheetに設定し、modalTransitionStyleをUIModalTransitionStyleCrossDissolveに設定してください。 –