Masonry控制檯打印約束衝突問題解決

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

從輸出的信息能夠知道,有的控件的約束明顯重複了設置,因此指出了是哪一個控件,重複設置了哪些約束等等。。。。spa

Masonry能夠設置約束的優先級,優先級分爲priorityHigh,priorityMedium,priorityLow(高,中等,低)三個等級。優先級默認爲中等,因此當咱們對某一個控件的約束條件重複後,會打印警告信息,告訴咱們應該去修復它們。code

 

既然知道了警告的產生緣由,那麼解決辦法有兩種:blog

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

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

 看下面個人解決方法:簡單粗暴!!!io

 [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能夠設置約束的優先級今天才知道。。。長知識了!!!class

相關文章
相關標籤/搜索