#iOS 开发实用技巧# Masonry 控件宽高(不同控件之间宽高比)比设置方法

Masonry

项目中我们实用 Masonry 自动布局,可能需要设置控件的宽高比,需要记录一下这个方法。

  • 一句代码搞定: 注意这里需要设置的是控件的宽高比。

make.width.equalTo(self.backgroundImage.mas_height).multipliedBy(1.0f);


- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor= [UIColor whiteColor];
    
    self.backgroundImage = [[UIImageView alloc]init];
    
    [self.view addSubview:self.backgroundImage];
    
    self.backgroundImage.backgroundColor = [UIColor colorWithRed:1.0 green:0.502 blue:0.0 alpha:1.0];
    
    [self.backgroundImage mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.top.equalTo(self.view).offset(191);
        make.left.equalTo(self.view).offset(20);
        make.right.equalTo(self.view).offset(-20);
        //设置背景图的宽高比!使用下面方法.
        make.width.equalTo(self.backgroundImage.mas_height).multipliedBy(1.0f);
        
        
    }];
    
    

}

酱紫的 1:1 约束

链条语法通俗易懂,牛逼

    self.labelForDate = [[UILabel alloc] init];
    [self.view addSubview:self.labelForDate];
    self.labelForDate.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.0 alpha:1.0];
    [self.labelForDate mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.top.equalTo(self.labelForTime.mas_bottom).offset(2);
        make.left.equalTo(self.view).offset(60);
        make.right.equalTo(self.view).offset(-60);
        //设置背景图的宽高比!使用下面方法.
        make.height.equalTo(self.view.mas_height).multipliedBy(1/20.f);
        
    }];
    


make.height.equalTo(self.view.mas_height).multipliedBy(1/20.f);

这句代码可以简单的理解为,让当前视图的宽度和相对的那层视图的高度之间的对比。

  • 这个方法是通过不同控件之间,做的高与高之间的对比,举一反三,你就应该知道怎么写了。
黄色部分的约束
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容