Masonry多个View排列

/**
 *  distribute with fixed spacing
 *
 *  @param axisType     横排还是竖排
 *  @param fixedSpacing 两个控件间隔
 *  @param leadSpacing  第一个控件与边缘的间隔
 *  @param tailSpacing  最后一个控件与边缘的间隔
 */
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
/**
 *  distribute with fixed item size
 *
 *  @param axisType        横排还是竖排
 *  @param fixedItemLength 控件的宽或高
 *  @param leadSpacing     第一个控件与边缘的间隔
 *  @param tailSpacing     最后一个控件与边缘的间隔
 */
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;

方法使用

#创建一个view数组
- (NSMutableArray *)viewArray {
    if (!_viewArray) {
        
        _viewArray = [NSMutableArray array];
        for (int i = 0; i < 4; i ++) {
            
            UIView *view = [[UIView alloc] init];
            view.backgroundColor = [UIColor redColor];
            [self.view addSubview:view];
            [_viewArray addObject:view];
        }
    }
    
    return _viewArray;
}

   #水平方向排列、固定控件间隔、控件长度不定
- (void)test_masonry_horizontal_fixSpace {
    // 实现masonry水平固定间隔方法
    [self.viewArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:20 leadSpacing:10 tailSpacing:10];
    
    // 设置array的垂直方向的约束
    [self.viewArray mas_makeConstraints:^(MASConstraintMaker *make) {    
        make.top.equalTo(100);
        make.height.equalTo(60);
    }];
}
#水平方向排列、固定控件长度、控件间隔不定
- (void)test_masonry_horizontal_fixItemWidth {   
    // 实现masonry水平固定控件宽度方法
    [self.viewArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:60 leadSpacing:10 tailSpacing:10];
    // 设置array的垂直方向的约束
    [self.viewArray mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.top.equalTo(100);
        make.height.equalTo(60);
    }];
}

#垂直方向排列、固定控件间隔、控件高度不定
- (void)test_masonry_vertical_fixSpace { 
    // 实现masonry垂直固定控件高度方法
    [self.viewArray mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedSpacing:20 leadSpacing:10 tailSpacing:10];
    // 设置array的水平方向的约束
    [self.viewArray mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(100);
        make.width.equalTo(60);
    }];
}

#垂直方向排列、固定控件高度、控件间隔不定
- (void)test_masonry_vertical_fixItemWidth {  
    // 实现masonry垂直方向固定控件高度方法
    [self.viewArray mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedItemLength:60 leadSpacing:10 tailSpacing:10];
    
    // 设置array的水平方向的约束
    [self.viewArray mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.left.equalTo(100);
        make.width.equalTo(60);
    }];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。