您的位置:首页 > 产品设计 > UI/UE

iOS-UIStackView浅析

2016-06-19 11:17 423 查看

一、UIStackView简介

概念:一个堆叠视图的容器,iOS9的新特性。
用途:StackView及其子视图会自适应界面,减少我们设置约束的工作量。
特点:
-类似ContainView,不会渲染到界面上。
-StackView中的子视图只能朝一个方向进行排布,要么水平要么垂直。
-StackView支持多层嵌套
-约束比StackView的自适应优先级高,可以通过设置约束来调整StackView的布局
-支持属性动画
-不能滚动

属性:
-Axis轴:->用来设置子视图的排列方式(H/V)
-Aligement:->用来设置子视图的对齐方式
-Distribution->用来设置子视图的分布方式(fill-填充)
-spacing->子视图之间的间距



属性展示


二、属性详解


@Aligement-子视图的对齐方式
Fill:子视图在排列的垂直方向上填充容器



fill填充

Top:子视图在排列方向上顶部对齐



top顶部对齐

Center:子视图在排列方向上居中对齐



Center居中对齐

Bottom:子视图在排列方向上底部对齐



Bottom底部对齐

Leading:子视图在排列方向上左对齐



leading左对齐

Trailing:子视图在排列方向上右对齐



Trailing右对齐

First Baseline:Label子视图基于第一行文字的基线对齐,只适用于Label



First Baseline-首行label对齐

Last Baseline:Label子视图基于最后一次行文字的基线对齐,只适用于Label



Last Baseline末行label对齐

@Distribution-子视图的分布方式
Fill:子视图在排列方向上填满容器



Fill-填满

Fill Equally:子视图在排列方向上填满容器,且按相等尺寸分布



Fill Equally-按相等尺寸分布

Fill Proportionally:子视图在排列方向上填满容器,且按照原始比例分布



Fill Proportionally-按照原始比例分布

Equal Spacing:排列方向上子视图等间距



Equal Spacing-子视图等间距

Equal Centering:排列方向上子视图中心点之间的距离等间距



Equal Centering-中心点之间的距离等间距

@Spacing-子视图之间的间距
Baseline Relation:设置spacing为上Label基线之间的间距(垂直排列时基线才会有间距)

三、subView和arrangedSubView

对于Stack View的子控件添加和移除,我们是这样描述的。
添加-->(Stack View管理的subview)
addArrangedSubview:
insertArrangedSubview:atIndex: arrangedSubviews

数组是subviews属性的子集。

移除-->(Stack View管理的subview)
removeArrangedSubview:-->移除是指移除Stack View内部子控件的约束,并没有真正的把控件从父视图上移除。
removeFromSuperview-->从视图层次结构中删除,从父视图上删除


四、知识点小结

1、Axis表示Stack View的subview是水平排布还是垂直排布。
2、Alignment控制subview对齐方式。
3、Distribution定义subview的分布方式。
4、Spacing 为subview间的最小间距。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: