UIStackView 简介

UIStackView简介

iOS9之后,推出了一个新的布局神器 ——UIStackView。之前也只是在网上看过相关的资料介绍,并没有仔细去弄明白时怎么一回事,只是大概知道方便 均分布局 的一个组件。然而事实来说,我还是图样图森破。
只要是类似 上下结构,或者 左右结构的 ,都可以 任性的使用 UIStackView。当然,前提是,iOS版本 是 9.0以上,所以如果项目还有支持 iOS9 以下的版本的话,那么就不太适用了。
《UIStackView 简介》

UIStackView有两种形式,一种是横向布局 Vertical Stack View,一种是竖向布局 Horizontal Stack View
Vertical Stack View为例吧。
首先,在 storyboard 中,拖取一个 Vertical Stack View,并设置好相关约束。
图片描述

在右边属性栏可以看到,5个设置参数。即 Axis(控制 stackView 是要 vertical 还是 horizontal),Alignment(控制 stackView中子控件的布局位置,是要fill,leading,trailing,center),Distribution(控制stackView中子控件的大小),Spacing(控制stackView中子控件之间的距离),baseline realitive`(决定子控件,貌似只在 vertical 中有效)。

图片描述

eg:拖入两个 UIView,此时,我是在 Distribution的选项中,选择了 fill equal。这时,拖入的两个 view 均会布局为自动布满。另外,可以看到,其实stackView的原理,应该是根据 相关属性,然后自动添加约束。
《UIStackView 简介》

因此,在 Distribution中选择 fill equalfill proportionally两个选项时,stackView均会为其自动添加约束。等比例的布局,在很多 UI界面 上总是可以碰到的。所以这个还是挺有 实用性的。至于 Distribution的选项,那么需要为其额外添加一些 高度约束。比如选择 fill(默认),那么需要为其添加 一些高度约束,以确定 控件的大小。
比如九宫格布局的话,可以在 vertical stackView中再嵌入三个 horizontal stackView,之后得到九宫格布局。

stackView的玩法大致就这样。最大的意义应该还是 简化约束 吧。比如 布置三个 等大小的 控件,如果单纯用 约束去控制的话,相对于适用 stackView还是会 比较费劲的。

小小挫见。

    原文作者:六叔
    原文地址: https://segmentfault.com/a/1190000004386661
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞