UIStackView : UIViewUIStackView是Apple在iOS9引入的一个视图容器控件,可以很好地减轻手写或者Xib中托约束带来的繁琐工作。和传统容器视图相比,有如下特点:
- 类似ContainView,不会渲染到界面上
- 子视图只能朝一个方向进行排布,要么水平要么垂直
- 支持多层嵌套
- 支持属性动画,不能滚动
api说明
配置布局 (Configuring The Layout)
alignment:UIStackViewAlignment子视图的对齐方式1
2
3
4
5
6
7
8// 子视图在排列的垂直方向上填充容器
UIStackViewAlignmentFill
// 子视图在排列方向上顶部对齐
UIStackViewAlignmentTop
// 子视图在排列方向上居中对齐
UIStackViewAlignmentCenter
// 子视图在排列方向上底部对
UIStackViewAlignmentBottomaxis:UILayoutConstraintAxis子视图是水平排布还是垂直排布1
2
3
4// 水平排布
UILayoutConstraintAxisHorizontal
// 垂直排布
UILayoutConstraintAxisVerticaldistribution:UIStackViewDistribution子视图的分布方式1
2
3
4
5
6
7
8
9
10// 子视图在排列方向上填满容器
UIStackViewDistributionFill
// 子视图在排列方向上填满容器,且按相等尺寸分布
UIStackViewDistributionFillEqually
// 子视图在排列方向上填满容器,且按照原始比例分布
UIStackViewDistributionFillProportionally
// 排列方向上子视图等间距
UIStackViewDistributionEqualSpacing
// 排列方向上子视图中心点之间的距离等间距
UIStackViewDistributionEqualCenteringspacing:CGFloat子视图之间的间距
子视图管理 (Managing Arranged Subviews)
1 | // 添加 |
补充: 对子视图设置隐藏也会相应的改变该容器视图
添加自定义空间 (Adding Space Between Items)
1 | // Returns the custom spacing after the specified view. |