UIStackView入门

  在 iOS9 中,Apple 引入了 UIStackView,他让你的应用可以通过简单的方式,纵向或横向的叠放你的 views。UIStackView 采用 auto layout 的方式来管理他的子视图的位置和尺寸。让你更简单的构建自适应的 UI。

  如果在 iOS9 之前,你想要创建类似 UIStackView 为你提供的这种布局,你需要构建大量的 constraints。你需要编辑许多诸如边距、高度、x/y 轴的位置,还有它们的依赖关系等。

  UIStackView 把这些全部帮你做了。甚至在你添加或者移除某些 view 时,还提供了平滑的动画。当 view 状态改变时,他会自动的改变 layout 的属性值。

  UIStackView几个重要的属性:

.axis(轴向) 属性决定了 stack 的朝向,只有垂直或水平;

·distribution(分布) 属性决定了其管理的视图在沿着其轴向上的布局;

·alignment(对齐) 属性决定了其管理的视图在垂直于其轴向上的布局;

·spacing(空隙) 属性决定了其管理的视图间的最小间隙;

·baselineRelativeArrangement属性决定了其视图间的垂直间隙是否根据基线测量得到;

·layoutMarginsRelativeArrangement属性决定了 stack 视图平铺其管理的视图时是否要参照它的布局边距

1.对齐方式

StackView可以设置子视图的对齐方式(水平方向和垂直方向的该属性值有所区别):

Fill:子视图填充StackView。

Leading:靠左对齐。

Trailing:靠右对齐。

Center:子视图以中线为基准对齐。

Top:靠顶部对齐。

Bottom:靠底部对齐。

First Baseline:按照第一个子视图中文字的第一行对齐。

Last Baseline:按照最后一个子视图中文字的最后一行对齐。

2.分布比例

Fill:默认分布方式。

Fill Equally:子视图的高度或宽度保持一致。

Fill:Proportionally:StackView自己计算出它认为合适的分布方式。

Equal Spacing:子视图保持同等间隔的分布方式。

Equal Centering:每个子视图中心线之间保持一致的分布方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 首先,我们通过下面这张图片引出今天的主角 大家看到了什么,是爱吗?不,这不是爱,不是爱,是满满的‘愁绪’?😂...
    一念之见阅读 2,237评论 0 2
  • UIStackView 类提供了一个高效的接口用于平铺一行或一列的视图组合。Stack视图使你依靠自动布局的能力,...
    Chivalrous阅读 831评论 1 2
  • 翻译自“Auto Layout Guide”。 1 入门 1.1 理解自动布局 自动布局根据视图层级结构中视图上的...
    lakerszhy阅读 3,743评论 3 26
  • UIStackView to resize/layout 自适应、适配、布局这几个关键词一直伴随着iOS开发,从以...
    萌新小透明阅读 2,166评论 1 1
  • 这是一篇挺老的文章,主要就是介绍在iOS9时推出的控件UIStackView。我发现网上的资料并不算多,而AppC...
    Liberalism阅读 11,168评论 2 26