iOS-UIStackView浅析

作者: 麦穗0615 | 来源:发表于2016-06-19 10:43 被阅读360次
一、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间的最小间距。

相关文章

网友评论

    本文标题:iOS-UIStackView浅析

    本文链接:https://www.haomeiwen.com/subject/vgjbdttx.html