【问题标题】:hide NavigationBar without lifting up the View隐藏 NavigationBar 而不提升视图
【发布时间】:2016-06-16 17:24:13
【问题描述】:

用这个隐藏我的 NavigationBar:

func hideAndShow(){

   if self.navigationController?.navigationBar.hidden == true {
        self.navigationController?.setNavigationBarHidden(false, animated: true)

    }else {
        self.navigationController?.setNavigationBarHidden(true, animated: true)
    }
 }

但它也提升了我的视图(可能是因为视图位于导航下方),我如何在不提升我的视图的情况下隐藏它

看下图更好理解

如您所见,我在视图中的图像在隐藏 NavigationBar 时也会上移,知道如何解决这个问题吗?

我们可以只显示导航栏层下方的视图吗???

【问题讨论】:

    标签: ios swift2


    【解决方案1】:

    解决您的问题需要两个步骤:

    1. self.edgesForExtendedLayout = UIRectEdge.All 添加到viewWillAppear。因此,您的视图将从屏幕顶部开始,而不是在 NavigationBar 下方。您可以在此处阅读有关edgesForExtendedLayout 的更多信息:https://stackoverflow.com/a/19585104/1447641

    2. 将 {navigationbarheight} 的顶部约束添加到您的 ImageView。

    此后,ImageView 的位置不应再受 NavigationBar 影响。

    【讨论】:

    • 禁用 Adjust ScrollView Insets 完成了这项工作,谢谢 :),谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 2015-07-24
    相关资源
    最近更新 更多