iOS使用 stack view 布局

iOS 9 增加了一个类 UIStackView ,UIStackView 提供了一种新的管理子视图布局的方式,UIStackView 有点类似于前端的

标签,可以将控件划分管理,我们可以把控件添加的UIStackView 里面进行分组。

使用 UIStackView 布局的时候,操作子视图会非常的方便我们来看一下效果图, demo 传送门

iOS使用 stack view 布局_第1张图片

优势

如果上面效果我们 用之前的约束进行布局的话会非常复杂,在每添加一个控件都需要重新计算约束,如果新控件要插入已有的两个控件之间,我们还需要把这两个控件的约束删除,然后重新添加。想想还是挺复杂的,如果使用 StackView 的话处理这种问题就非常的简单了,我们只需要找到指定的 StackView ,然后插入想要的位置就可以了

教程

xcode 上提供了一种简单的方式对控件之间进行分组,如下图所示

iOS使用 stack view 布局_第2张图片
iOS使用 stack view 布局_第3张图片

选中在 storyboard 中选中 stackview 可以看到如下的设置项


iOS使用 stack view 布局_第4张图片

Axis: 设置 UIStackView 的方向,Vertical 和 Horizontal。
Alignment: 子视图的排列方式
Spacing: 子视图之间的间隔

我们可以动态的给 StackView 添加子视图,通过如下代码

stackview.addArrangedSubview()         //直接在最后面添加控件
stackview.insertArrangedSubview()  //插入控件到指定位置

也可以动态的删除已有的视图,通过如下代码

stackview.removeArrangedSubview(view) //这里需要注意的是 我们还需要调用 view.removeFromSuperview(),把子视图重父视图删除

你可能感兴趣的:(iOS使用 stack view 布局)