Ale*_*ini 9 objective-c ios xcode5
我有这个问题:我有一个视图控制器(嵌入在导航控制器中),在执行操作后触发手动segue推新视图控制器,但是在新视图控制器中没有导航栏,因为在第一个控制器中我有实现了viewWillDisappear方法,如下所示:
- (void)viewWillDisappear:(BOOL)animated {
// Hide the navigation bar just before the view disappear
[[self navigationController] setNavigationBarHidden:YES animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
以下是IBAction中手动segue的代码:
[self performSegueWithIdentifier:@"tutorialSegue" sender:self];
Run Code Online (Sandbox Code Playgroud)
我试过这样的
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[[self navigationController] setNavigationBarHidden:NO animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,实际上在调试器中,我注意到navigationcontroller等于nil,我只是无法弄清楚原因.
hyb*_*ttt 11
如果你想让StartViewController隐藏导航栏,并使用DestinationViewController来显示它:向-(void)viewWillAppear:方法添加相应的代码.
StartViewController:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[self navigationController] setNavigationBarHidden:YES animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
DestinationViewController:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[self navigationController] setNavigationBarHidden:NO animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
如果您希望两个视图控制器都有导航栏,只需删除包含的所有行 setNavigationBarHidden: