17、UIStackView的用法
作者:互联网
17、UIStackView的用法
1、基本介绍
1.1 什么是StackView
- UIStackView 是 UIView 的子类,它不能用来呈现自身的内容,而是用来约束子控件的一个控件。
- UIStackView 提供了一个高效的接口用于平铺一行或一列的视图组合。对于嵌入到 StackView 的视图,我们不用再添加自动布局的约束了。Stack View 会管理这些子视图的布局,并帮我们自动布局约束。也就是说,这些子视图能够适应不同的屏幕尺寸。
- UIStackView 支持嵌套,我们可以将一个 Stack View 嵌套到另一个 Stack View 中,从而实现更为复杂的用户界面。
- 使用 UIStackView 并不意味这不需要处理自动布局了。我们仍旧要定义一些布局约束来约束 Stack View。它只是帮我们节约了为每个 UI 元素创建约束的时间,同时它更容易的从布局中添加/删除一个视图。
StackView最低支持是iOS9.0,如果想要在在iOS8.0使用,可以使用https://github.com/forkingdog/FDStackView
1.2 UIStackView的属性
Axis: 子视图的布局方向
Vertical
: 垂直Horizontal
: 水平
Alignment: 子视图的对齐方式
Fill
: 子视图填充 StackView。Leading
: 靠左对齐。Trailing
: 靠右对齐。Center
:子视图以中线为基准对齐。Top
: 靠顶部对齐。Bottom
: 靠底部对齐。First Baseline
: 按照第一个子视图中文字的第一行对齐。Last Baseline
: 按照最后一个子视图中文字的最后一行对齐。
Distribution:子视图的分布比例(大小)
Fill
:默认分布方式。Fill Equally
:每个子视图的高度或宽度保持一致。Fill Proportionally
:StackView 自己计算出它认为合适的分布方式。Equal Spacing
:每个子视图保持同等间隔的分布方式。Equal Centering
:每个子视图中心线之间保持一致的分布方式。
Spacing:子试视图间的间距
1.3 UIStackView相关方法
1、UIStackView的方法
init(frame: CGRect)
:创建一个 UIStackViewinit(arrangedSubviews views: [UIView])
:同样是创建一个 UIStackView,但我们可以将子视图传入。views 数组里的顺序即为子视图显示的顺序。arrangedSubviews: [UIView] { get }
:获得 UIStackView 里所有的子视图。addArrangedSubview(view: UIView)
:添加一个子视图removeArrangedSubview(view: UIView)
:删除一个子视图- insertArrangedSubview(view: UIView, at stackIndex: Int):在指定位置插入一个子视图
标签:17,StackView,布局,视图,用法,UIStackView,对齐,UIView 来源: https://blog.csdn.net/u010259906/article/details/120553159