我有一个UITabBar,它有五个不同的视图控制器。每个视图控制器都有自己的导航控制器。我有一个特殊的视图控制器,只在用户第一次进入应用程序时出现。我的问题是,当用户在normal view controller
完成时,我无法找到一种方式来呈现welcome view controller
。我已经得到它来呈现viewController,但它与navigationController
具有相同的welcomeView
,而不是应该为该视图显示的navigationController
。我该如何解决这个问题?
以下是我推动它的方式:
- (void)toFeed:(UIButton *)sender {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"TermsAccepted"];
// FeedViewController *feedViewController = [[FeedViewController alloc] init];
//
// [self.navigationController pushViewController:feedViewController animated:YES];
self.tabBarController.tabBar.hidden = NO;
self.tabBarController.selectedIndex = 0;
self.navigationController.navigationBar.hidden = NO;
}
答案 0 :(得分:0)
尝试更改导航控制器的rootviewcontroller。
[navController setViewControllers:newViewController animated:NO];
答案 1 :(得分:0)
喜欢这个吗?
- (无效)switchRootViewController:(的UIViewController *)的viewController {
[UIView transitionWithView:self.window duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve
animations:^(void) {
BOOL oldState = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:NO];
self.window.rootViewController = viewController;
[UIView setAnimationsEnabled:oldState];
}
completion:nil];
}
或简单推送
[self.navigationController pushViewController:<#(UIViewController *)#> animated:<#(BOOL)#>]