我在导航vc中嵌入了一个root vc,我使用它设置了隐藏的导航栏
[self.navigationController setNavigationBarHidden:YES];
它工作正常,导航栏消失了。
并推送 2nd vc 使用
[self.navigationController pushViewController:controller animated:YES];
在 2nd vc 中设置导航栏显示。一切顺利。
所以当我点击导航栏上的“后退按钮”时,我发现导航栏消失的速度比视图快,尤其是设置视图的背景为黑色,我可以看到整个视图是黑色的,就像没有导航栏一样曾经。
我不想要这个,我只希望导航栏一直存在,直到 viewDidDisappear。
我使用[self.navigationController popViewControllerAnimated:YES];
并且必须填写 Animated is YES 可以重现这种外观。
对于排序,
- 导航vc中的两个vc。
- 根vc的导航栏被隐藏,第二个VC从根vc推送。
- 第二个vc制作了导航栏显示。
- 用来
[self.navigationController popViewControllerAnimated:YES]
背。
代码位置在哪里:
ps:无论你如何设置导航栏的hidden-property,在ViewDidLoad或者ViewWillAppear或者ViewDidAppear或者其他地方,都是一样的外观。
在根 vc 的 viewDidLoad
[self.navigationController setNavigationBarHidden:YES];
和 root vc 的 didSelectRowAtIndexPath:
[self.navigationController setNavigationBarHidden:NO];