Masonry控制台打印約束沖突問題解決


不知道你是不是視圖的布局也是用的第三方Masonry,在使用中是不是也遇到了控制台約束沖突的警告打印,看下圖:

從輸出的信息可以知道,有的控件的約束明顯重復了設置,所以指出了是哪個控件,重復設置了哪些約束等等。。。。

Masonry可以設置約束的優先級,優先級分為priorityHigh,priorityMedium,priorityLow(高,中等,低)三個等級。優先級默認為中等,所以當我們對某一個控件的約束條件重復后,會打印警告信息,告訴我們應該去修復它們。

 

既然知道了警告的產生原因,那么解決辦法有兩種:

1.找到該控件,修改它的相關約束,以消除警告信息。

2.將控件的約束優先級置為高級,那么就算約束重復了也不會有警告。這也是最簡單省事的辦法。

 看下面我的解決方法:簡單粗暴!!!

 [self.shareImageV mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(weakSelf.mas_left).offset(LIST_RIGHT + 5).priorityHigh();
        make.top.equalTo(weakSelf.contentTextView.mas_bottom).offset(LIST_TOP/2);
        make.right.equalTo(weakSelf.mas_right).offset(-LIST_RIGHT/2).priorityHigh();
        make.bottom.equalTo(weakSelf);
    }];

Masonry可以設置約束的優先級今天才知道。。。長知識了!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM