標籤:
前言
自適應、適配、布局這幾個關鍵詞一直伴隨著iOS開發,從以前的單一尺寸螢幕,到現在的多尺寸螢幕,Apple一直致力於讓開發人員儘可能少在這些事上耗費過多的精力,所以Apple在2012年推出了Auto Layout特性,2014年又推出了Adaptive Layout、Size Classes,2015年又推出了Stack View。這些無一不是我們開發人員做適配的利器。今天就讓我們看看StackView是怎麼一回事。
註:樣本開發環境為Xcode7 Beta 2
我們先來看看下面這個常見的布局:
這是一種很常見的漢堡布局,如果我們需要讓它自適應不同尺寸的螢幕,我們要添加哪些約束呢?
看看圖中這些約束,你們會不會感到莫名的煩躁呢,至少我是的。更讓人抓狂的是,如果需要在中間再添加一個長方形,那麼你要修改關聯的好幾個約束,有沒有掀桌的衝動呢?
不過,我們開發人員總是幸運的,Apple在Xcode7中添加了一個新的特性StackView,它能完美的解決這個鬧心的問題。
StackView其實一個視圖容器,不過它會對它的子視圖根據一定規則自動布局,將子視圖按棧的相片順序進行布局,並且有幾個主要的屬性:
方向
StackView有水平和垂直兩個方向的配置模式:
間隔
StackView可以設定子視圖之間的間隔:
對齊
StackView可以設定子視圖的對齊(水平方向和垂直方向的該屬性值有所區別):
- Fill:子視圖填充StackView。
- Leading:靠左對齊。
- Trailing:靠右對齊。
- Center:子視圖以中線為基準對齊。
- Top:靠頂部對齊。
- Bottom:靠底部對齊。
- First Baseline:按照第一個子視圖中文字的第一行對齊。
- Last Baseline:按照最後一個子視圖中文字的最後一行對齊。
分布比例
StackView可以設定子視圖的分布比例:
- Fill:預設分布方式。
- Fill Equally:子視圖的高度或寬度保持一致。
- Fill:Proportionally:StackView自己計算出它認為合適的分布方式。
- Equal Spacing:子視圖保持同等間隔的分布方式。
- Equal Centering:每個子視圖中心線之間保持一致的分布方式。
一切讓樣本來說話,在這篇文章中我們將逐步開發一個電影影評的應用來詳細講解如何使用StackView。
贊一個 收 藏
iOS 9介面適配利器:詳解Xcode 7的新特性UIStackView