iOS-UIStackView浅析

一、UIStackView简介
  • 概念:一个堆叠视图的容器,iOS9的新特性。
  • 用途:StackView及其子视图会自适应界面,减少我们设置约束的工作量。
  • 特点:
  • -类似ContainView,不会渲染到界面上。
  • -StackView中的子视图只能朝一个方向进行排布,要么水平要么垂直。
  • -StackView支持多层嵌套
  • -约束比StackView的自适应优先级高,可以通过设置约束来调整StackView的布局
  • -支持属性动画
  • -不能滚动
  • 属性:
  • -Axis轴:->用来设置子视图的排列方式(H/V)
  • -Aligement:->用来设置子视图的对齐方式
  • -Distribution->用来设置子视图的分布方式(fill-填充)
  • -spacing->子视图之间的间距


    iOS-UIStackView浅析_第1张图片
    属性展示
二、属性详解
  • @Aligement-子视图的对齐方式
    - Fill:子视图在排列的垂直方向上填充容器
    iOS-UIStackView浅析_第2张图片
    fill填充

    - Top:子视图在排列方向上顶部对齐
    iOS-UIStackView浅析_第3张图片
    top顶部对齐

    - Center:子视图在排列方向上居中对齐
    iOS-UIStackView浅析_第4张图片
    Center居中对齐

    - Bottom:子视图在排列方向上底部对齐
    iOS-UIStackView浅析_第5张图片
    Bottom底部对齐

    - Leading:子视图在排列方向上左对齐
    iOS-UIStackView浅析_第6张图片
    leading左对齐

    - Trailing:子视图在排列方向上右对齐
    iOS-UIStackView浅析_第7张图片
    Trailing右对齐

    - First Baseline:Label子视图基于第一行文字的基线对齐,只适用于Label
    iOS-UIStackView浅析_第8张图片
    First Baseline-首行label对齐

    - Last Baseline:Label子视图基于最后一次行文字的基线对齐,只适用于Label
    iOS-UIStackView浅析_第9张图片
    Last Baseline末行label对齐
  • @Distribution-子视图的分布方式
    - Fill:子视图在排列方向上填满容器
    iOS-UIStackView浅析_第10张图片
    Fill-填满

    - Fill Equally:子视图在排列方向上填满容器,且按相等尺寸分布
    iOS-UIStackView浅析_第11张图片
    Fill Equally-按相等尺寸分布

    - Fill Proportionally:子视图在排列方向上填满容器,且按照原始比例分布
    iOS-UIStackView浅析_第12张图片
    Fill Proportionally-按照原始比例分布

    - Equal Spacing:排列方向上子视图等间距
    iOS-UIStackView浅析_第13张图片
    Equal Spacing-子视图等间距

    - Equal Centering:排列方向上子视图中心点之间的距离等间距
    iOS-UIStackView浅析_第14张图片
    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间的最小间距。

你可能感兴趣的:(iOS-UIStackView浅析)