【Auto Layout】Xcode6及以上版本,建立Auto Layout 約束時產生的一些變化【iOS開發教程】

【#Auto Layout#】Xcode6建立Auto Layout 約束時產生的一些變化
 
 
 
經過兩個小Demo來展現下變化:
Demo1需求:
爲控制器的根視圖(圖中的「控制器View」)的子視圖(圖中的View)添加頂部約束10
 
 
運行效果:
沒有從頂部開始,彷佛是從statusbar的20高度之外開始計算的
 
 
出錯緣由
添加到控制器根視圖的頂部約束,默認添加到的是Buttom Layout Guide,也就是從status bar 的20高度開始,
同理設置底部約束時,也儘可能不要選擇默認的Bottom Layout Guide,不然當有tabbar欄導航欄也會出現相似的問題。

 

 
 

Demo2
需求:在控制器的根視圖上添加約束,頂部、底部、左邊緣、右邊緣均設置爲0
 
 
運行後的效果,並不是指望中的,緣由是Xcode默認勾選的是✅Contrain to margins ,而從Xcode6開始,Contrain to margins 的值是16(Xcode爲了照顧6Plus作的特殊設置),而不在是0;
要想達到預期的效果,有兩種方法:⓵取消勾選該按鈕⓶勾選該按鈕,並將左邊緣和右邊緣的約束設爲-16(以下圖所示)
 
 
另外在設置頂部約束和底部約束時也儘可能不要選擇默認的,儘可能點擊右側的小箭頭,在彈框中選擇父視圖,以下圖所示:
 
 
相關文章
相關標籤/搜索