Masonry横向纵向排列多个控件

/**
 *  多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值
 *
 *  @param axisType        轴线方向
 *  @param fixedSpacing    间隔大小
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType 
                    withFixedSpacing:(CGFloat)fixedSpacing l
                          eadSpacing:(CGFloat)leadSpacing 
                         tailSpacing:(CGFloat)tailSpacing;

/**
 *  多个固定大小的控件的等间隔排列,变化的是间隔的空隙
 *
 *  @param axisType        轴线方向
 *  @param fixedItemLength 每个控件的固定长度或者宽度值
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType 
                 withFixedItemLength:(CGFloat)fixedItemLength 
                         leadSpacing:(CGFloat)leadSpacing 
                         tailSpacing:(CGFloat)tailSpacing;

使用与图解

1、纵向等间距排列

NSMutableArray *list = [[NSMutableArray alloc] initWithObjects:btn,btn1,btn2,btn3,btn31,btn4,btn5,btn6,btn7,btn9,btn10,btn11,btn12,btn13,btn14, nil];
[list mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedSpacing:1 leadSpacing:1 tailSpacing:1];
[list mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(@15);
}];

19A5EC36-44FE-4725-805E-0A26C86849CF.png

2、纵向均分,各控件等高度排列

NSMutableArray *list = [[NSMutableArray alloc] initWithObjects:btn,btn1,btn2,btn3,btn31,btn4,btn5,btn6,btn7,btn9,btn10,btn11,btn12,btn13,btn14, nil];
[list mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedItemLength:20 leadSpacing:1 tailSpacing:1];
[list mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(@15);
}];

8E1DB17E-9C80-4486-9FF2-569A143784ED.png

3、横向均分,各控件等间距排列

NSMutableArray *list = [[NSMutableArray alloc] initWithObjects:btn,btn1,btn2,btn3,btn31,btn4,btn5,btn6,btn7,btn9,btn10,btn11,btn12,btn13,btn14, nil];
[list mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:1 leadSpacing:10 tailSpacing:10];
[list mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(@60);
    make.height.equalTo(@60);
}];

3435ADF2-C9F8-46FC-90E8-0EBB9C7FECE1.png

4、横向均分,各控件等宽度排列

NSMutableArray *list = [[NSMutableArray alloc] initWithObjects:btn,btn1,btn2,btn3,btn31,btn4,btn5,btn6,btn7,btn9,btn10,btn11,btn12,btn13,btn14, nil];
[list mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:10 leadSpacing:10 tailSpacing:10];
[list mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(@60);
    make.height.equalTo(@60);
}];

6B5D6E67-3B7B-4281-A91E-951C72608254.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏calmound

CSS继承特殊

继承 CSS的某些样式具有继承性。 继承是一种规则,它允许样式不仅作用于某个特定html标签元素,而且应用于其后代    如:在p中的所有字体都为红色     ...

2645
来自专栏数据小魔方

散点图分割不同象限的技巧

今天跟大家聊一聊散点图中分割不同象限的辅助线制作技巧! ▽ 分割象限 在做完散点图之后 通常我们都很想知道这些点的分布是否存在某种趋势 如果趋势比较明显 用肉眼...

3827
来自专栏Petrichor的专栏

像素、分辨率 区别 & 介绍

举个例子,比如一张图片由100×100个像点组成,那么这张图片的像素数就是1万。但是,如果这张图片边长为1英寸,那么其分辨率就是100点/英寸,也就是100dp...

1232
来自专栏图形学与OpenGL

4.4.2 OpenGL几何变换编程实例

/* 三维旋转变换,参数:旋转轴(由点p1和p2定义)和旋转角度(thetaDegrees)*/

1322
来自专栏图形学与OpenGL

6.5编程实例-立方体透视投影

GLint winWidth = 600, winHeight = 600; //设置初始化窗口大小

1711
来自专栏python3

tkinter -- Label使用图像与文本

compound: 指定文本(text)与图像(bitmap(内置图)/image(自定义图片)是如何在Label上显示,当指定image/bitmap时,会显...

691
来自专栏谦谦君子修罗刀

ios约束

一、苹果的VFL语法约束 在使用约束之前,要先将没有设置frame的view添加到父视图上。如何将view设置为使用AutoLayout约束,取消默认约束。 ...

3165
来自专栏一“技”之长

iOS界面布局之四——使用第三方库Masonry进行autolayout布局

        在前面博客,我们讨论了使用iOS原生的框架代码来进行autolayout布局。在使用中,我们会发现,无论是代码量还是结构的清晰度,都十分不能让我...

1002
来自专栏WD学习记录

2016-7-3 webGL

ctx.fillRect(120,10,150,150);前两个为x、y坐标后边为长和宽

842
来自专栏杂七杂八

Matplotlib 绘2D图

Matplotlib 是一个非常简单而又完善的开源绘图库。那么它到底有多简单呢? 基本知识 首先官方文档奉上 下面,我们通过 3 行代码绘制一张简单的折线图...

6155

扫码关注云+社区