前言
在開始學習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民鼓,揮手之間界面躍然眼前薇芝,一切工作行云流水,它讓你能夠工作的像個藝術家丰嘉,所想即所見夯到,所見即所得,它能大大的加快你工程的腳步饮亏。從iOS8開始耍贾,我們不僅僅可以針對于某一設備進行布局,還可以利用SizeClass對多種設備不同尺寸的界面分別進行約束路幸。從而獲得更好的展示效果荐开。
如有興趣請移步:[AutoLayout使用總結(jié)のSizeClass&AutoLayout]