【问题标题】:Hiding Navigation bar short everything in view up隐藏导航栏使视图中的所有内容变短
【发布时间】:2016-01-25 22:29:48
【问题描述】:

我有以下情节提要设置:

故事板:

我在点击时隐藏了导航栏和工具栏,但是当导航栏消失时 UITextView 会向上移动。

    lyrics.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "show_fdw_bck"))

    func show_fdw_bck () {
    print("screen tapped")
    if SongMgr.settings2 == false {
        fwdappear.hidden = true
        bckappear.hidden = true
        navigationController?.navigationBarHidden = true
        navigationController?.setToolbarHidden(true, animated: false)
        //lyrics.frame = CGRect(x: 10, y: 80, width: self.view.frame.size.width - 20, height: self.view.frame.size.width)
        SongMgr.settings2 = true
    } else {
        fwdappear.hidden = false
        bckappear.hidden = false
        navigationController?.navigationBarHidden = false
        navigationController?.setToolbarHidden(false, animated: false)
        //lyrics.frame = CGRect(x: 10, y: 0, width: self.view.frame.size.width - 20, height: self.view.frame.size.width)

        SongMgr.settings2 = false
    }

}

我试图改变场景中对象的顺序,将 textview 移动到 View 的底部解决了这个问题,但它隐藏了 UIButtons。任何帮助将不胜感激。

【问题讨论】:

    标签: swift uinavigationbar xcode-storyboard


    【解决方案1】:

    UITextView 上移的原因是约束保持不变。有几种方法可以解决这个问题,一种选择是为UITextView 的上边距设置IBOutlet,然后将constant 属性设置为+64(导航的高度bar) 的当前状态。

    另一种方法是在情节提要中重做 UITextView 的约束,并根据需要为特定的优先级设置不同的优先级。

    【讨论】:

    • 谢谢,我不知道你可以在代码中更改布局约束。添加以下内容解决了我的问题@IBOutlet weak var TopMargin: NSLayoutConstraint!TopMargin.constant = TopMargin.constant - 44
    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2015-11-14
    • 2020-08-05
    • 2014-12-21
    • 2011-06-04
    相关资源
    最近更新 更多