Masonry的简单使用

作者: 云海长天 | 来源:发表于2016-11-14 19:40 被阅读188次

Masonry

实例化 redView 和 blueView

//实例化一个view

    UIView *redView = [[UIView alloc]init];
    
    redView.backgroundColor = [UIColor redColor];
    
    [self.view addSubview:redView];
    
    UIView *blueView = [[UIView alloc]init];
    
    blueView.backgroundColor = [UIColor blueColor];
    
    [self.view addSubview:blueView];

//masonry自动帮我们把autoresizing给禁用掉

设置 redView 和 blueView 的约束

//  设置redView的约束
    
    [redView mas_makeConstraints:^(MASConstraintMaker *make) {
    
        // make.top.left.offset(20);
        
        // 针对topLayoutGuide进行设置
        
        // self.mas_bottomLayoutGuide 设置底部
        
        // self.mas_topLayoutGuideBottom 设置顶部
        
        make.top.equalTo(self.mas_topLayoutGuideBottom);
        
        make.left.offset(20);
        
        make.right.offset(20);
        
        make.height.equalTo(@40);
        
    }];
    
    //  设置blueView的约束
    
    /*
     
     dividedBy: 除以
     
     multipledBy:乘以
     
     */
    
    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
       
        make.top.equalTo(redView.mas_bottom).offset(20);
        
        make.right.offset(-20);
        
        make.height.equalTo(redView);
        
        //  宽度
        
        //  make.width.equalTo(redView).multipliedBy(0.5);
        
        make.width.equalTo(redView).dividedBy(2);
        
    }];
    ```
更新约束

// 更新约束

[redView mas_updateConstraints:^(MASConstraintMaker *make) {
    
    //  更新redView的约束高度变为80
    
    make.height.equalTo(@80);
    
}];
重新设置约束

// 重新设置,会把之前的约束给清空掉,然后使用新的约束
[redView mas_remakeConstraints:^(MASConstraintMaker *make) {

    make.top.left.offset(20);
    
    make.right.offset(-20);
    
    make.height.equalTo(@80);
    
}];
设置约束的优先级

// 设置约束的优先级
[redView mas_makeConstraints:^(MASConstraintMaker *make) {

    make.top.left.offset(20);
    
    make.right.offset(-20);
    
    make.height.equalTo(@40).priority(10);
    
}];

/*
 
 priority: 可以设置任意的优先级,接受的参数是0-1000的数字
 priorityLow: 设置低优先级,优先级为250
 priorityMedium: 设置中优先级,优先级为500
 priorityHigh: 设置高优先级,优先级为750
 
 需要注意的是,使用priorityLow、priorityMedium、priorityHigh的时候。不是.priorityHigh,而是.priorityHigh()
 
 */

相关文章

  • Masonry简单使用

    一、 Masonry简介: 1)Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装...

  • Masonry简单使用

    介绍:Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有...

  • Masonry的简单使用

    记录一下,Masonry的简单使用 /*UILabel *titleLab = [UILabel new];tit...

  • Masonry的简单使用

    首先,在正式使用Masonry之前,我们先来看看在xib中我们是如何使用AutoLayout 从图中我们可以看出,...

  • Masonry的简单使用

    Masonry是干什么的我就不废话了,相信用到它的人不会不知道,我们直接进入正题。 一、下面是Masonry给出的...

  • Masonry的简单使用

    有时候我们需要用代码设置约束,而苹果爸爸的NSLayoutConstraint看着实在让人恶心,简洁优雅的Maso...

  • Masonry的简单使用

    这里是Masonry给我们的属性 @property (nonatomic, strong, readonly) ...

  • Masonry的简单使用

    Masonry 实例化 redView 和 blueView 设置 redView 和 blueView 的约束 ...

  • Masonry的简单使用

    以前使用过masonry做页面布局,长时间不用,有些使用方法就有些遗忘了,所以今天就简单的复习一下 Masonry...

  • Masonry简单使用及如何利用Masonry约束宽相等

    Masonry简单使用及如何利用Masonry约束宽相等 其实Masonry封装的API和苹果官方的思路是非常一致...

网友评论

    本文标题:Masonry的简单使用

    本文链接:https://www.haomeiwen.com/subject/pptkpttx.html