swift使用snapkit,一行代码布局子视图,类似css中flex布局(使用详情)

showType:显示类型

  1. equalSize(3, 30, .required):每个子view的大小相同
    3:每行个数
    30:每个view的高度
    required:自动撑开view的高度
  2. vertical:垂直布局
  3. horizontal:水平布局

space/horizontalSpace&verticalSpace:间距/水平间距&垂直间距,[最后一个值有效]

  1. space:间距
  2. horizontalSpace:水平间距,showType为vertical无效
  3. verticalSpace:垂直间距,showType为horizontal无效

insets/insetsModel:内间距,[只需设置一次,最后一个值有效]

alignment&alignments:对齐方式,[可传值]

  1. left:左对齐
  2. right:右对齐
  3. top:上对齐
  4. bottom:下对齐
  5. center:中对齐
  6. insets:上下左右对齐

height:自身的高度

width:自身的宽度

equalSize

        view0.zz_setupSubViews(
            getLabels(count: 10),
            .showType(.equalSize(3, 30, .high)),
            .horizontalSpace(8),
            .verticalSpace(8),
            .insetsModel(insets: .init(all: 10))
        )
image.png

vertical

        view1.zz_setupSubViews(
            getRandomSizeViews(count: 5, maxWidth: kScreenWidth * 0.5, minWidth: kScreenWidth * 0.25, maxHeight: 50, minHeight: 20),
            .showType(.vertical),
            .alignment(.center(0))
        )
image.png
        view2.zz_setupSubViews(
            getRandomSizeViews(count: 5, maxWidth: kScreenWidth * 0.5, minWidth: kScreenWidth * 0.25, maxHeight: 50, minHeight: 20),
            .showType(.vertical),
            .alignment(.right(10))
        )
image.png

horizontal

        view1.zz_setupSubViews(
            getRandomSizeViews(count: 3, maxWidth: kScreenWidth * 0.25, minWidth: kScreenWidth * 0.125, maxHeight: 70, minHeight: 30),
            .showType(.horizontal),
            .alignment(.center()),
            .horizontalSpace(8),
            .height(100)
        )
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容