在公司項目中較多的使用純代碼.
奈何實在眼饞storyboard的便利性.平時小的demo都會使用storyboard來實現(xiàn).
但是卻總是遇到一個問題.就是從一個頁面push到下一級頁面,需要在下一級頁面隱藏tabbar.
如果只是在下一級頁面勾選

就會出現(xiàn)當跳轉(zhuǎn)到下一級頁面時,出現(xiàn)一個頁面下跳的動畫...十分惱人!
效果如下:

究其原因是因為在這個ViewController里添加了一個view,使用AutoLayout來約束這個View,其中有一項是

點開Edit之后可以看到這個約束的詳細情況.

問題就出現(xiàn)在劃紅線的這個地方,
我的理解是,針對下方控件的上邊界,來約束你上放控件的下邊界.
如果問題是這樣的話,我天真的以為,針對下方控件的下邊界來約束不就好了.
這是我從思想上犯的一個錯誤...且不說跨越了邊界,可能造成的混亂...單就是我設(shè)置了Hide Bottom Bar on Push 后,其實下方的tabbar對頁面來說就不存在了,也是會報錯的.
這個時候,就想到針對viewController的view來設(shè)置約束, 讓上方控件的下邊界和view的下邊界產(chǎn)生規(guī)則,就可以解決這個問題了.
解決方法:
選中需要與viewController的view產(chǎn)生規(guī)則的控件,和view連線,松開右鍵,彈出規(guī)則菜單后按下option鍵.選中 Bottom Space to Container Margin.
這個時候再看約束:

點擊Edit查看約束的詳情:

已經(jīng)變?yōu)楹透敢晥D之間的關(guān)系了.然后進行相應(yīng)的修改.
問題解決. 效果如下:

下面是一些廢話,
在寫的時候,覺得自己寫的太啰嗦了.而且在一些解釋上面還不是很專業(yè),希望能更加精確的描述問題,更加精簡的步驟來解決問題. 文章就是應(yīng)該寫的讓人容易理解,和簡單明了,需要繼續(xù)努力!