iOS Mansory 等间隔等宽高排列多个View

本文介绍了如何在iOS应用中利用Masonry框架,通过四个不同的方法实现视图的等间隔等宽高排列:水平方向固定间隔、水平方向固定长度、垂直方向固定长度以及垂直方向固定间隔。代码示例详细展示了Masonry的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import "ViewController.h"

#import "Masonry.h"


@interface ViewController ()

@property (nonatomic,strong) NSMutableArray *masonryViewArray;

@end


@implementation ViewController


- (NSMutableArray *)masonryViewArray {

    if (!_masonryViewArray) {

        _masonryViewArray = [[NSMutableArray alloc] init];

        for (int i = 0; i < 4; i ++) {

            UIView *view = [[UIView alloc] init];

            view.backgroundColor = [UIColor redColor];

            [self.view addSubview:view];

            [_masonryViewArray addObject:view];

        }

    }

    return _masonryViewArray;

}


- (void)viewDidLoad {

    [super viewDidLoad];

    [self test_masonry_horizontal_fixSpace];

    [self test_masonry_horizontal_fixItemWidth];

    [self test_masonry_vertical_fixItemWidth];

    [self test_masonry_vertical_fixSpace];

}

//水平方向的,固定间隔,宽高不固定

- (void)test_masonry_horizontal_fixSpace {

 [self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:30 leadSpacing:10 tailSpacing:10];

 [self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

        make.top.mas_equalTo(300);

        make.height.mas_equalTo(60);

    }];

}

//水平方向的,固定长度,间隔不固定

- (void)test_masonry_horizontal_fixItemWidth {

    [self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:60 leadSpacing:10 tailSpacing:10];

    [self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

        make.top.mas_equalTo(150);

        make.height.mas_equalTo(80);

    }];

}

/垂直方向的,固定长度,间隔不固定

- (void)test_masonry_vertical_fixItemWidth{

    [self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedItemLength:60 leadSpacing:10 tailSpacing:10];

    [self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

        make.centerX.mas_equalTo(self.view.mas_centerX);

        make.width.mas_equalTo(80);

    }];

}

//垂直方向的,固定间隔,宽高不固定

- (void)test_masonry_vertical_fixSpace {

    [self.masonryViewArray mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedSpacing:40 leadSpacing:10 tailSpacing:10];

    [self.masonryViewArray mas_makeConstraints:^(MASConstraintMaker *make) {

        make.centerX.mas_equalTo(self.view.mas_centerX);

        make.width.mas_equalTo(80);

    }];

}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值