使用Masonry实现UILabel和UIIMageView自适应长度居中

2,118 阅读1分钟

代码在github上:demo

先看个效果图:

自适应长度居中

主要代码:

    [self.containerOne mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.top.mas_equalTo(self.labelTitle.mas_bottom).offset(20);
        make.centerX.mas_equalTo(0);
        make.leading.mas_greaterThanOrEqualTo(5);
        make.trailing.mas_lessThanOrEqualTo(-5);
        
    }];
    
    [self.iconOne mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.top.bottom.equalTo(self.containerOne);
        make.width.mas_equalTo(20);
        make.height.mas_equalTo(20);
        make.centerY.mas_equalTo(0);
        make.left.mas_equalTo(2);
        
    }];
    
    [self.labelOne mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.left.mas_equalTo(self.iconOne.mas_right).offset(5);
        make.centerY.mas_equalTo(0);
        make.right.mas_equalTo(-2);
        
    }];
    

为了实现图标和文字整体居中,需要将图标和文字放到一个容器view上进行约束。