我有一个视图控制器,我想有一个顶部栏,另一个没有。
它们都在同一导航控制器中。
如何使第一视图控制器没有顶部栏,而第二视图控制器有顶部栏
编辑:
如果我使用[self.navigationController setNavigationBarHidden:YES];
,那么在下一个屏幕完成飞入之前,顶部栏所在的位置将出现一个黑框。我该如何避免这种情况?
在您的第一个视图控制器中使用此属性:
[self.navigationController setNavigationBarHidden:NO];
在第二个视图控制器中,在视图WillAppear中,放在线下,
[self.navigationController setNavigationBarHidden:YES];
在第二个视图控制器中,在视图WillDisappear中,放在线下,
[self.navigationController setNavigationBarHidden:NO];
调用方法:
[self.navController setNavigationBarHidden:YES];
[self.navController setNavigationBarHidden:NO];
对于要隐藏/显示NavController的每个视图,在ViewWillAppear方法中。
当您想隐藏导航栏时使用self.navigationController.navigationBar.hidden = YES;
,当您想取消隐藏时使用self.navigationController.navigationBar.hidden = NO;
。
您可以使用此代码隐藏导航栏:
[self.navController setNavigationBarHidden:YES];
并且在下一个视图中控制器再次设置:
[self.navController setNavigationBarHidden:NO];