隐藏我的NavigationBar与此:
func hideAndShow(){
if self.navigationController?.navigationBar.hidden == true {
self.navigationController?.setNavigationBarHidden(false, animated: true)
}else {
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
}
但是它也可以抬起我的视图(也许是因为视图位于导航下方),如何隐藏它而不抬起我的视图
请参阅下图以更好地了解
如您所见,我的图像在隐藏NavigationBar的同时也被上移了,我不知道该如何解决?
我们可以只显示导航栏层下方的视图吗?
最佳答案
解决问题需要两个步骤:
将self.edgesForExtendedLayout = UIRectEdge.All
添加到viewWillAppear
。结果,您的视图将从屏幕顶部而不是NavigationBar下方开始。您可以在此处阅读有关edgesForExtendedLayout
的更多信息:https://stackoverflow.com/a/19585104/1447641
向您的ImageView添加{navigationbarheight}的最高约束。
之后,ImageView的位置不再受NavigationBar的影响。