StackView學習
自適應(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的屬性進行學習症汹;
StackView其實一個視圖容器,不過它會對它的子視圖根據(jù)一定規(guī)則自動布局贷腕,將子視圖按棧的排列方式進行布局背镇,并且有幾個主要的屬性:
新建工程,依舊用storyboard進行操作泽裳;
1瞒斩、選中storyboard,在頁面搜索Stack View涮总,你會發(fā)現(xiàn)StackView有水平和垂直兩個方向的布局模式(內(nèi)部空間的布局規(guī)則)胸囱;
2、拖拽一個新的水平StackView(PeopleStackView)并設(shè)置它在父視圖的位置瀑梗,相對位置(0烹笔、100、0抛丽、0)à《上谤职、下、左亿鲜、右》
3柬帕、拖進stackview四張圖片,默認對齊方式為Fill狡门;
4、StackView常用兩個屬性其馏,Aligntioin/Distributon;先用代碼實現(xiàn),為方便起見仔引,在PeopleStackView下方拉進一個新的水平StackView(AligntionStack)并設(shè)置它在父視圖的位置,里邊放一個Label咖耘,一個segment,選中segment版保,修改屬性夫否,
5凰慈、同理設(shè)置Distributon的Stackview,以及內(nèi)部控件森篷;
6豺型、對齊方式
//Fill:子視圖填充StackView。
//Leading:靠左對齊坎藐。
//Trailing:靠右對齊哼绑。
//Center:子視圖以中線為基準對齊碉咆。
//Top:靠頂部對齊。
//Bottom:靠底部對齊茂浮。
//FirstBaseline:按照第一個子視圖中文字的第一行對齊壳咕。
//Last Baseline:按照最后一個子視圖中文字的最后一行對齊。
7幌羞、分布比例
//Fill:默認分布方式熔任。
//Fill Equally:子視圖的高度或?qū)挾缺3忠恢隆?/p>
//Fill:Proportionally:StackView自己計算出它認為合適的分布方式。
//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)盟”哦~~~
![IT實戰(zhàn)聯(lián)盟.jpg](http://upload-images.jianshu.io/upload_images/326255-f67b0f0dd5fe5874.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/500)