我有一个应用程序,我从iOS 5迁移到iOS 6,并且无法正确显示UINavigationController。
在我的应用中,用户必须登录,并在按下按钮后在模态视图中显示该登录屏幕。
WelcomeViewController.m
- (IBAction)signInButtonSelected:(id)sender
{
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController presentViewController:loginViewController animated:YES completion:^{}];
}
视图正确加载并允许用户输入其登录凭据。但是,当他们按下登录按钮时,会显示下一个视图,并且它应该在顶部有一个UINavigationBar,除非它没有。如果我退出应用程序并重新启动它,UINavigationBar会在该视图中正确显示。我不知道为什么从登录视图进入登录屏幕会隐藏导航控制器。
以下是按下登录按钮时加载下一个视图时执行的代码:
LoginViewController.m
WallViewController *wallViewController = [[WallViewController alloc] initWithNibName:nil bundle:nil];
[(UINavigationController *)self.presentingViewController pushViewController:wallViewController animated:YES];
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
如果有人能够阐明为什么会发生这种情况会很棒!
谢谢!
答案 0 :(得分:0)
想出来。在我的App代表中,我放置了:
navController.navigationBar.hidden = YES;
用户登录后会隐藏导航栏。不完全确定为什么在app代理中这会影响以后的视图。但一旦它被删除,它就完美无缺!
感谢您的帮助!