2016-01-25 36 views
0

我有以下的故事板設置:隱藏導航條短了一切

故事板:

enter image description here

我隱藏在點擊導航和工具欄,但是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要查看的底解決了這個問題,但它隱藏了UIButtons。任何幫助將非常感激。

回答

0

您的UITextView向上移動的原因是因爲約束保持不變。有幾種方法可以解決這個問題,一種方法是爲UITextView的頂部邊距設置IBOutlet,然後將constant屬性設置爲當前內容的+64(導航欄的高度)是。

另一種方法是在故事板中重做UITextView的約束,並根據需要將不同的優先級設置爲特定的優先級。

+0

謝謝,我不知道你可以更改代碼中的佈局約束。添加以下解決了我的問題'@IBOutlet弱var TopMargin:NSLayoutConstraint!'和'TopMargin.constant = TopMargin.constant - 44'。 –

+0

但我想知道如何優先約束? –