iOS使用 stack view 布局

作者: HuminiOS | 来源:发表于2016-08-01 00:30 被阅读873次

    iOS 9 增加了一个类 UIStackView ,UIStackView 提供了一种新的管理子视图布局的方式,UIStackView 有点类似于前端的 <div></div>标签,可以将控件划分管理,我们可以把控件添加的UIStackView 里面进行分组。

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

    优势

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

    教程

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

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


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

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

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

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

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

    相关文章

      网友评论

        本文标题:iOS使用 stack view 布局

        本文链接:https://www.haomeiwen.com/subject/zehxsttx.html