StackView學習
自適應、適配、布局這幾個關鍵詞一直伴隨著iOS開發,從以前的單一尺寸屏幕,到現在的多尺寸屏幕,Apple一直致力于讓開發人員盡可能少在這些事上耗費過多的精力,所以Apple在2012年推出了Auto Layout特性,2014年又推出了Adaptive Layout、Size Classes,2015年又推出了Stack View。這些無一不是我們開發者做適配的利器。今天就讓我們看看StackView是怎么一回事。
在iOS9中,Apple引入了UIStackView,他讓你的應用可以通過簡單的方式,縱向或橫向的疊放你的views。UIStackView采用auto layout的方式來管理他的子視圖的位置和尺寸。讓你更簡單的構建自適應的UI。
Apple對于布局的發展歷程大致的介紹到此,下面結合實例對StackView的屬性進行學習;
StackView其實一個視圖容器,不過它會對它的子視圖根據一定規則自動布局,將子視圖按棧的排列方式進行布局,并且有幾個主要的屬性:
新建工程,依舊用storyboard進行操作;
1、選中storyboard,在頁面搜索Stack View,你會發現StackView有水平和垂直兩個方向的布局模式(內部空間的布局規則);
2、拖拽一個新的水平StackView(PeopleStackView)并設置它在父視圖的位置,相對位置(0、100、0、0)à《上、下、左、右》
3、拖進stackview四張圖片,默認對齊方式為Fill;
4、StackView常用兩個屬性,Aligntioin/Distributon;先用代碼實現,為方便起見,在PeopleStackView下方拉進一個新的水平StackView(AligntionStack)并設置它在父視圖的位置,里邊放一個Label,一個segment,選中segment,修改屬性,
5、同理設置Distributon的Stackview,以及內部控件;
6、對齊方式
//Fill:子視圖填充StackView。
//Leading:靠左對齊。
//Trailing:靠右對齊。
//Center:子視圖以中線為基準對齊。
//Top:靠頂部對齊。
//Bottom:靠底部對齊。
//FirstBaseline:按照第一個子視圖中文字的第一行對齊。
//Last Baseline:按照最后一個子視圖中文字的最后一行對齊。
7、分布比例
//Fill:默認分布方式。
//Fill Equally:子視圖的高度或寬度保持一致。
//Fill:Proportionally:StackView自己計算出它認為合適的分布方式。
//Equal Centering:每個子視圖中心線之間保持一致的分布方式。
//Equal Spacing:子視圖保持同等間隔的分布方式。
說明:
1、不論你拉取的是水平還是垂直可以在屬性中更改,
2、這些屬性都可以可視化更改,故不再累述
3、stackview就是一個容器,會根據你設置的對齊方式和分布方式內部實現布局。
[Demo git地址](https://github.com/kamawshuang/iOS9--Study)
更多精彩內容請關注“IT實戰聯盟”哦~~~
