前言
在開始學習iOS開發(fā)時,和百元鈔大小相仿的iPhone6 plus 就已經(jīng)在土豪圈里大行其道,繼而6s也華麗的浮出水面,所以在我最初接觸UI界面實現(xiàn)時,就已經(jīng)需要去考慮各個機型的適配,在網(wǎng)上去搜索相關教程時,看到各位前輩大神對iOS布局演變方式一一道來,如數(shù)家珍時,我也只能懷著對曾經(jīng)那一步到位的布局方式的向往一步到位的學習現(xiàn)有的布局方式。好了,吐槽結(jié)束,下面,Let's Constraints~
布局方式簡介
從目前來看,主要的布局方式有兩種:代碼布局和xib布局,但是這兩種布局方式并不沖突,可以同時使用。自動布局最重要的是約束:UI元素間關系的數(shù)學表達式。約束包括尺寸、由優(yōu)先級和閾值管理的相對位置。它們是添加劑,可能導致約束沖突、約束不足造成布局無法確定。這兩種情況都會產(chǎn)生異常。
代碼布局簡介
代碼布局適合鍵盤派,指尖躍動,代碼宛如音符伴著節(jié)奏浮現(xiàn),將一切都描述入微,待塵埃落定,我們靜靜的持茗輕抿,看在氤氳的熱氣蒸騰中,字母慢慢融化,呈現(xiàn)出我們心中的那一片世界。據(jù)我了解,蘋果公司現(xiàn)在官方給出的布局方式現(xiàn)在主是采用AutoLayout,但是對于一些簡單頁面來說,這種方式有種得不償失,因為增加了大量代碼的代價下,帶來的界面改觀卻并不明顯,但是對于那些頁面相對比較復雜的頁面,它帶來的改變是頁面具有更強的適應各種屏幕的能力,并且大大的提高了效率。傳說中,因其靈活性及一些其他原因,AutoLayout的代碼布局方式十分困難,所以我就也只能退而求其次的選擇另外一種能夠?qū)崿F(xiàn)自動布局的方式,那就是大名鼎鼎的Masonry。
如有興趣請移步:AutoLayout使用總結(jié)のMasonry
xib布局簡介
xib布局適合鼠標派,在Storyboard上描繪自己的story,揮手之間界面躍然眼前,一切工作行云流水,它讓你能夠工作的像個藝術(shù)家,所想即所見,所見即所得,它能大大的加快你工程的腳步。從iOS8開始,我們不僅僅可以針對于某一設備進行布局,還可以利用SizeClass對多種設備不同尺寸的界面分別進行約束。從而獲得更好的展示效果。
如有興趣請移步:[AutoLayout使用總結(jié)のSizeClass&AutoLayout]