我正在使用UINavigationController
来引导某些视图controllers
。在某些视图控制器中,我不想使用UINavigationBar
,但在其他一些我可能会使用。现在,我尝试使用UINavigationBar
将一个视图控制器弹出到上一个隐藏UINavigationBar
的视图控制器。但是,当开启时,屏幕下方有一个有线黑色空间。旋转屏幕后,空间将消失。
普通视图控制器A应该是这样的:
按下文本按钮时,将按下视图控制器B,如下所示:
单击导航栏上的后退按钮。 A会出来。但底部有一个黑色空间。
如果旋转屏幕,空间将消失。而且在A的- (void)viewWillAppear:(BOOL)animated
方法中,我隐藏了导航栏并让屏幕自动旋转。
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
[self willAnimateRotationToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
}
这种情况有什么不对?任何帮助将不胜感激。
答案 0 :(得分:1)
我在后退按钮操作方法中添加了setNavigationBarHidden:
方法。有用。如果我在viewWillDisappear:
方法或其他方法中添加此方法,它似乎不起作用。导航栏将对下一个出现的视图控制器生效。这意味着,导航堆栈中的下一个视图控制器中将存在黑色空间。
最后,我为方法中的后退按钮和setNavigationBarHidden:YES
添加了一个动作方法,如下所示:
- (void)backBtnClicked:(id)sender
{
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController setNavigationBarHidden:YES];
}