StackView學(xué)習(xí)
自適應(yīng)、適配、布局這幾個關(guān)鍵詞一直伴隨著iOS開發(fā),從以前的單一尺寸屏幕,到現(xiàn)在的多尺寸屏幕,Apple一直致力于讓開發(fā)人員盡可能少在這些事上耗費過多的精力,所以Apple在2012年推出了Auto Layout特性,2014年又推出了Adaptive Layout、Size Classes,2015年又推出了Stack View。這些無一不是我們開發(fā)者做適配的利器。今天就讓我們看看StackView是怎么一回事。
在iOS9中,Apple引入了UIStackView,他讓你的應(yīng)用可以通過簡單的方式,縱向或橫向的疊放你的views。UIStackView采用auto layout的方式來管理他的子視圖的位置和尺寸。讓你更簡單的構(gòu)建自適應(yīng)的UI。
Apple對于布局的發(fā)展歷程大致的介紹到此,下面結(jié)合實例對StackView的屬性進(jìn)行學(xué)習(xí);
StackView其實一個視圖容器,不過它會對它的子視圖根據(jù)一定規(guī)則自動布局,將子視圖按棧的排列方式進(jìn)行布局,并且有幾個主要的屬性:
新建工程,依舊用storyboard進(jìn)行操作;
1、選中storyboard,在頁面搜索Stack View,你會發(fā)現(xiàn)StackView有水平和垂直兩個方向的布局模式(內(nèi)部空間的布局規(guī)則);
2、拖拽一個新的水平StackView(PeopleStackView)并設(shè)置它在父視圖的位置,相對位置(0、100、0、0)à《上、下、左、右》
3、拖進(jìn)stackview四張圖片,默認(rèn)對齊方式為Fill;
4、StackView常用兩個屬性,Aligntioin/Distributon;先用代碼實現(xiàn),為方便起見,在PeopleStackView下方拉進(jìn)一個新的水平StackView(AligntionStack)并設(shè)置它在父視圖的位置,里邊放一個Label,一個segment,選中segment,修改屬性,

5、同理設(shè)置Distributon的Stackview,以及內(nèi)部控件;
6、對齊方式
//Fill:子視圖填充StackView。
//Leading:靠左對齊。
//Trailing:靠右對齊。
//Center:子視圖以中線為基準(zhǔn)對齊。
//Top:靠頂部對齊。
//Bottom:靠底部對齊。
//FirstBaseline:按照第一個子視圖中文字的第一行對齊。
//Last Baseline:按照最后一個子視圖中文字的最后一行對齊。
7、分布比例
//Fill:默認(rèn)分布方式。
//Fill Equally:子視圖的高度或?qū)挾缺3忠恢隆?/p>
//Fill:Proportionally:StackView自己計算出它認(rèn)為合適的分布方式。
//Equal Centering:每個子視圖中心線之間保持一致的分布方式。
//Equal Spacing:子視圖保持同等間隔的分布方式。
說明:
1、不論你拉取的是水平還是垂直可以在屬性中更改,
2、這些屬性都可以可視化更改,故不再累述
3、stackview就是一個容器,會根據(jù)你設(shè)置的對齊方式和分布方式內(nèi)部實現(xiàn)布局。
[Demo git地址](https://github.com/kamawshuang/iOS9--Study)
更多精彩內(nèi)容請關(guān)注“IT實戰(zhàn)聯(lián)盟”哦~~~
