Massary屏幕适配,自动布局
Massary屏幕适配,自动布局
iOS赵师顺 发表于1年前
Massary屏幕适配,自动布局
  • 发表于 1年前
  • 阅读 22
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 开发往往需要适配多种屏幕,一种屏幕写一套布局太过于麻烦,所以用Massary来根据不同屏幕自动布局,简化开发,提高效率。
- (void)viewDidLoad {

    [super viewDidLoad];

    //    添加红蓝两个控件

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

    blueView.backgroundColor = [UIColor blueColor];

    blueView.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:blueView];

    

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

    redView.backgroundColor = [UIColor redColor];

    redView.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:redView];

    

    //    添加约束

    

/**

 练习1:

 */

    

    /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        

//        固定大小用mas_equalTo

        make.width.mas_equalTo(100);

        make.height.mas_equalTo(100);

//        与其他控件比较equalTo

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

        make.centerY.equalTo(self.view.mas_centerY);

    }];

*/

    

    /**

     练习2:

     */

   /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.left.equalTo(self.view.mas_left).offset(30);

        make.bottom.equalTo(self.view.mas_bottom).offset(-30);

        make.right.equalTo(redView.mas_left).offset(-30);

        make.height.mas_equalTo(50);

    }];

    

    [redView mas_makeConstraints:^(MASConstraintMaker *make) {

       

        make.right.equalTo(self.view.mas_right).offset(-30);

        make.bottom.equalTo(blueView.mas_bottom);

        make.height.equalTo(blueView.mas_height);

        make.width.equalTo(blueView.mas_width);

    }];

   */

    /**

     练习3:

     */

    /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.left.equalTo(self.view.mas_left).offset(30);

        make.top.equalTo(self.view.mas_top).offset(30);

        make.right.equalTo(self.view.mas_right).offset(-30);

        make.height.mas_equalTo(50);

        

    }];

    [redView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.right.equalTo(blueView.mas_right);

        make.top.equalTo(blueView.mas_bottom).offset(30);

        make.height.equalTo(blueView.mas_height);

        make.left.equalTo(blueView.mas_centerX);

    }];

     */

//    删除约束,重新添加

    [blueView mas_remakeConstraints:^(MASConstraintMaker *make) {

        

    }];

//    更新约束

    [blueView mas_updateConstraints:^(MASConstraintMaker *make) {

        

    }];

    

}
//方法一,array 的 mas_distributeViewsAlongAxis
/**
 *  多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值
 *
 *  @param axisType        轴线方向
 *  @param fixedSpacing    间隔大小
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
//    MASAxisTypeHorizontal  水平
//    MASAxisTypeVertical    垂直

[arrayList mas_distributeViewsAlongAxis:MASAxisTypeHorizontal
                       withFixedSpacing:20
                            leadSpacing:5
                            tailSpacing:5];
[arrayList mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.mas_equalTo(60);
    make.height.mas_equalTo(100);
}];

/**
 *  多个固定大小的控件的等间隔排列,变化的是间隔的空隙
 *
 *  @param axisType        轴线方向
 *  @param fixedItemLength 每个控件的固定长度或者宽度值
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
[arrayList mas_distributeViewsAlongAxis:MASAxisTypeVertical
                    withFixedItemLength:60
                            leadSpacing:40
                            tailSpacing:10];
[arrayList mas_makeConstraints:^(MASConstraintMaker *make) {
    //        make.top.mas_equalTo(100);
    //        make.height.mas_equalTo(100);
    make.left.mas_equalTo(20);
    make.right.mas_equalTo(-20);
}];

 

共有 人打赏支持
粉丝 4
博文 70
码字总数 33551
×
iOS赵师顺
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: