Masonry 布局
当两个并排的控件都需要自适应宽度时,设置拉伸优先级,和压缩优先级
UILabel*label = [[UILabelalloc] init]; label.text =@"发都发搜房送"; label.textColor =ColorFromHex(@"000000"); label.font = FONT_SYSTEM(15); label.backgroundColor = ColorFromHex(@"912932"); [self.view addSubview:label]; [label mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view.mas_top).with.offset(100); make.left.equalTo(self.view.mas_left).with.offset(12); make.bottom.equalTo(self.view.mas_bottom).with.offset(-1); }];UITextField* inputTfield = [[UITextFieldalloc] init]; inputTfield.backgroundColor = ColorFromHex(@"109218"); [self.view addSubview:inputTfield]; [inputTfield mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view.mas_top).with.offset(100); make.left.equalTo(label.mas_right).with.offset(10); make.right.equalTo(self.view.mas_right).with.offset(-12); make.bottom.equalTo(self.view.mas_bottom).with.offset(-1); }];
控件显示效果:
设置拉伸优先级代码:
[label setContentHuggingPriority:UILayoutPriorityRequiredforAxis:UILayoutConstraintAxisHorizontal]; [inputTfield setContentHuggingPriority:UILayoutPriorityDefaultLowforAxis:UILayoutConstraintAxisHorizontal];// 参数可以直接在苹果说明文档去查看
设置后显示效果:
设置压缩优先级的代码如下:
[label setContentCompressionResistancePriority:UILayoutPriorityDefaultLowforAxis:UILayoutConstraintAxisHorizontal]; [inputTfield setContentCompressionResistancePriority:UILayoutPriorityRequiredforAxis:UILayoutConstraintAxisHorizontal];