UIStackView

UIStackView主要包括了四大属性:axisalignmentdistributionspacing

  • axis
    设置UIStackView布局的方向:水平方向或垂直方向
typedef NS_ENUM(NSInteger, UILayoutConstraintAxis) {
    UILayoutConstraintAxisHorizontal = 0,
    UILayoutConstraintAxisVertical = 1
};
  • alignment
    主要设置非轴方向子视图的对齐方式
typedefNS_ENUM(NSInteger,UIStackViewAlignment) {
    UIStackViewAlignmentFill,//子视图填充
    StackViewUIStackViewAlignmentLeading,//子视图左对齐(axis为垂直方向而言)
    UIStackViewAlignmentTop=UIStackViewAlignmentLeading,//子视图顶部对齐(axis为水平方向而言)
    UIStackViewAlignmentFirstBaseline,// 按照第一个子视图的文字的第一行对齐,同时保证高度最大的子视图底部对齐(只在axis为水平方向有效)
    UIStackViewAlignmentCenter,//子视图居中对齐
    UIStackViewAlignmentTrailing,//子视图右对齐(axis为垂直方向而言)
    UIStackViewAlignmentBottom=UIStackViewAlignmentTrailing,//子视图底部对齐(axis为水平方向而言)
    UIStackViewAlignmentLastBaseline,// 按照最后一个子视图的文字的最后一行对齐,同时保证高度最大的子视图顶部对齐(只在axis为水平方向有效)
}NS_ENUM_AVAILABLE_IOS(9_0);
  • distribution
    设置轴方向上子视图的分布比例(如果axis是水平方向,也即设置子视图的宽度,如果axis是垂直方向,则是设置子视图的高度)
     UIStackViewDistributionFill = 0, 轴方向上填充UIStackView
     UIStackViewDistributionFillEqually, 所有子视图在轴方向上等宽或等高
     UIStackViewDistributionFillProportionally, 根据原先子视图的比例来拉伸或压缩子视图的宽或高
     UIStackViewDistributionEqualSpacing, 保持子视图的宽高,所有子视图中间的间隔保持一致
     UIStackViewDistributionEqualCentering, 控制所有子视图的中心之间的距离保持一致
  • spacing
    该属性控制子视图之间的间隔大小,在distribution前三个属性值设置的情况下,子视图之间是没有间隔,我们可以通过spacing属性显式的设置,如下图在distribution=UIStackViewDistributionFillEqually情况下,设置子视图间隔为10,子视图之间间隔都为10,且子视图依然等宽
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容