我一個上海華設立了兩個意見,然後在視圖之間添加約束:我可以更改NSLayoutConstraint的乘數屬性嗎?
_indicatorConstrainWidth = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeWidth multiplier:1.0f constant:0.0f];
[_indicatorConstrainWidth setPriority:UILayoutPriorityDefaultLow];
_indicatorConstrainHeight = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f];
[_indicatorConstrainHeight setPriority:UILayoutPriorityDefaultLow];
[self addConstraint:_indicatorConstrainWidth];
[self addConstraint:_indicatorConstrainHeight];
現在我想改變乘數屬性與動畫,但我無法弄清楚如何改變乘數屬性。 (我在頭文件NSLayoutConstraint.h中的私有屬性中找到了_coefficient,但它是私有的。)
如何更改multipler屬性?
我的解決方法是刪除舊約束併爲multipler
添加具有不同值的新約束。
您當前刪除舊約束並添加新的方法做的是正確的選擇。我明白,它不覺得「正確」,但它是你應該這樣做的方式。 – Rob
我認爲乘數不應該是恆定的。這是一個糟糕的設計。 – Borzh
@Borzh爲什麼通過乘數我做出自適應約束。對於可重新調整的ios。 – Bimawa