簡體   English   中英

砌體自動布局無法正常工作

[英]masonry autolayout not working

布局代碼:

[leftLabel mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(10, 10, 0, 0));
}];

[leftLabel mas_updateConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(10, 20, 100, 20));
    make.width.equalTo(@(200)); 
}];

我想將leftLabel的寬度設置為200,但結果不正確,能否告訴我原因,非常感謝,

我還有另一個問題,我可以隨時使用mas_updateConstraints而不是mas_makeConstraints嗎?

設置標簽的邊緣時,可以間接定義標簽的寬度。 因此,您應該設置邊緣或寬度。 不是都。 在您的情況下,如果要將標簽的寬度設置為200,並保留邊緣插圖中其余的三個常量,則應這樣操作:

[leftLabel mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(@10);
    make.left.and.bottom.equalTo(@0);
    make.width.equalTo(@200);
}];

根據Masonry的文檔,您應該使用mas_updateConstraints來更新現有約束的常量。 因此,您可能僅應在想要更改先前使用mas_makeConstraints定義的約束的某些值時使用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM