是否可以使用自動佈局和界面生成器進行單向尺寸匹配?Autolayout - 匹配高度,不是高度(單向)
例如,我可能有兩個標籤。我不希望標籤A比標籤B大,我希望B具有其固有的尺寸。但是使用「匹配高度/寬度」可能會導致大量文本增加A的大小,因此會增加B的大小。
是否可以使用自動佈局和界面生成器進行單向尺寸匹配?Autolayout - 匹配高度,不是高度(單向)
例如,我可能有兩個標籤。我不希望標籤A比標籤B大,我希望B具有其固有的尺寸。但是使用「匹配高度/寬度」可能會導致大量文本增加A的大小,因此會增加B的大小。
做到這一點的方法是有兩個約束。
這將首先設置圖像視圖的高度與固定的高度約束,然後將設置標籤的高度從圖像視圖的高度(等高)。
通過這樣做,標籤不會隨着文本數量的增加而增長。它的高度由圖像視圖有效固定。
它不會使圖像視圖變得更大,因爲這會與固定高度相抵觸。
FOR新問題
OK編輯,這個你會做幾乎同樣的事情。雖然在界面生成器中可能有點棘手,但我不確定當通過IB完成時約束中的item1
和item2
。
您可以通過添加一行代碼做到這一點很容易,但...
[theSuperview addConstraint:[NSLayoutConstraint constraintWithItem:labelA
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:labelB
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0.0]];
這正是Interface Builder的約束做,但我不知道你是否可以告訴繞的方式item1和item2是。
雖然這是您的「單向」等高度屬性。
EDIT 2
有可能會或可能不會更新在未來一段時間內,可能讓你在Interface Builder中看到item1
和item2
。
Fogmeister,謝謝,這就是我最終做的。但是你的回答讓我意識到我的問題措辭不佳。 – arsenius
一個班輪足夠接近!你所描述的正是我遇到的問題。我不知道連接是以哪種方式進行的。如果我從A拖到B,我希望A取決於B的大小,但不知何故,情況並非如此。謝謝! – arsenius
不用擔心。注意**編輯2 **在我的答案。不幸的是,我現在不能再說了。 – Fogmeister
我編輯了我編輯的問題的答案。 – Fogmeister