背景

iOS 9开始,苹果为iPad加入了分屏功能,原有的AutoLayout布局系统变得更加复杂。因此加入了类似于Android中LinearLayout的UIStackView。
UIStackView作为一个容器View,只能用于盛放其他View,有了UIStackView我们便可以简化布局的逻辑,只需将UIStackView做好约束,内部控件的布局即可通过UIStackView自动管理

Interface Builder中UIStackView的使用

方法一

首先在控件库中找到UIStackView
可以发现有水平和垂直两种布局方式的UIStackView
选择自己所需的一种(未来可以在检查器中修改类型)
图片描述
把StackView拖到画面中,把自己需要放的控件、View依次放入
图片描述
图片描述

tips:如何选择重叠的视图
当多个视图重叠在一起需要选择其中一个时,一种方法是点开左下角的大纲视图进行选择,另外一种方法是按住shift右键单击,即可选择重叠的视图

图片描述

方法二

细心的朋友可能已经发现了Xcode7中,3个自动布局图标左侧多了一个StackView按钮
我们只需要选择已经放好的控件再点击这个按钮即可自动放入一个StackView中
图片描述

相关属性

UIStackView提供了一些属性来调整布局方式
左侧的加号意味着我们可以为不同的Size Class设置不同的值
图片描述

轴线

这个属性我们可以用于设置水平、竖直方向

对齐方式 (默认的Fill即Center)

  • Top 上对齐

  • Center 中心对齐

  • Bottom 下对齐

  • first BaseLine 以第一个元素的BaseLine对齐

  • Last BaseLine 以最后一个元素的BaseLine对齐

分配(默认的Fill即Fill proportionally)

  • Fill Equally 占据相同空间(按最大者)

  • Fill proportionally 保持比例填充

  • Equal Spacing

  • Equal Centering

间距

Spacing 即UIStackView中各个元素的间距


Hydrogen
2.5k 声望73 粉丝

Write code for fun.