一、UIStackView簡介
- 概念:一個堆疊視圖的容器绩脆,iOS9的新特性萤厅。
- 用途:StackView及其子視圖會自適應(yīng)界面,減少我們設(shè)置約束的工作量。
- 特點(diǎn):
- -類似ContainView,不會渲染到界面上靴迫。
- -StackView中的子視圖只能朝一個方向進(jìn)行排布,要么水平要么垂直。
- -StackView支持多層嵌套
- -約束比StackView的自適應(yīng)優(yōu)先級高,可以通過設(shè)置約束來調(diào)整StackView的布局
- -支持屬性動畫
- -不能滾動
- 屬性:
- -Axis軸:->用來設(shè)置子視圖的排列方式(H/V)
- -Aligement:->用來設(shè)置子視圖的對齊方式
- -Distribution->用來設(shè)置子視圖的分布方式(fill-填充)
-
-spacing->子視圖之間的間距
二楼誓、屬性詳解
- @Aligement-子視圖的對齊方式
- Fill:子視圖在排列的垂直方向上填充容器
- Top:子視圖在排列方向上頂部對齊
- Center:子視圖在排列方向上居中對齊
- Bottom:子視圖在排列方向上底部對齊
- Leading:子視圖在排列方向上左對齊
- Trailing:子視圖在排列方向上右對齊
- First Baseline:Label子視圖基于第一行文字的基線對齊,只適用于Label
- Last Baseline:Label子視圖基于最后一次行文字的基線對齊,只適用于Label
- @Distribution-子視圖的分布方式
- Fill:子視圖在排列方向上填滿容器
- Fill Equally:子視圖在排列方向上填滿容器,且按相等尺寸分布
- Fill Proportionally:子視圖在排列方向上填滿容器,且按照原始比例分布
- Equal Spacing:排列方向上子視圖等間距
- Equal Centering:排列方向上子視圖中心點(diǎn)之間的距離等間距
- @Spacing-子視圖之間的間距
- Baseline Relation:設(shè)置spacing為上Label基線之間的間距(垂直排列時基線才會有間距)
三玉锌、subView和arrangedSubView
對于Stack View的子控件添加和移除,我們是這樣描述的疟羹。
- 添加-->(Stack View管理的subview)
- addArrangedSubview:
- insertArrangedSubview:atIndex: arrangedSubviews
數(shù)組是subviews屬性的子集主守。
- 移除-->(Stack View管理的subview)
- removeArrangedSubview:-->移除是指移除Stack View內(nèi)部子控件的約束,并沒有真正的把控件從父視圖上移除。
- removeFromSuperview-->從視圖層次結(jié)構(gòu)中刪除,從父視圖上刪除
四榄融、知識點(diǎn)小結(jié)
- 1参淫、Axis表示Stack View的subview是水平排布還是垂直排布。
- 2愧杯、Alignment控制subview對齊方式涎才。
- 3、Distribution定義subview的分布方式力九。
- 4耍铜、Spacing 為subview間的最小間距。