iOS 控件等间距,等大小分布布局 Masonry

NSArray+MASAdditions.h ,数组中需要约束的UI控件

/**
 *  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;

  • 平分button
#import "ZheadDataSearch.h"
#import "NSArray+MASAdditions.h"

@implementation ZheadDataSearch{
    NSMutableArray*ButtonArr;
    //用来存放 按钮视图
    NSMutableArray*masonryButtonArray;
}

- (id)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = ZWhiteColor(255);
        [self initButtonArr];
        [self masonryBtnArray];
        [self setupHorizontalView];
        
    }
    return self;
}

-(void)initButtonArr{
    if(!ButtonArr){
        ButtonArr=[[NSMutableArray alloc] initWithObjects:@"上月",@"本月",@"近3个月",@"近半年", nil];
    }
}

//
-(NSMutableArray*)masonryBtnArray{
    CGFloat buttonW = WIDTH_VALUE(75);
    masonryButtonArray= [NSMutableArray array];
    for (int i = 0; i < ButtonArr.count; i++ ){
        UIButton *dataButton = [[UIButton alloc] init];
        dataButton.tag = 200+i;
        dataButton.backgroundColor=[UIColor redColor];
        [dataButton setTitle:ButtonArr[i] forState:UIControlStateNormal];
        [dataButton setTitleColor:[UIColor colorWithRed:69.0/255.0 green:69.0/255.0 blue:69.0/255.0 alpha:1.0] forState:UIControlStateNormal];
        [dataButton.titleLabel setFont:[UIFont systemFontOfSize:14]];
        [dataButton addTarget:self action:@selector(clickedSelectButton:) forControlEvents:UIControlEventTouchUpInside];
        [self addSubview:dataButton];
        [masonryButtonArray addObject:dataButton];
    }
    return masonryButtonArray;
    
}

- (void)setupHorizontalView{
    //设置排列方向和间隔
    [masonryButtonArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:30 leadSpacing:10 tailSpacing:10];
    
    // 设置到顶部的距离和控件的高度
    [masonryButtonArray mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(HEIGHT_VALUE(10));
        make.height.mas_equalTo(HEIGHT_VALUE(25));
    }];
}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容