2013-08-30 141 views
11

我有2 UILabellabelAlabelB和320像素的寬度。我創建的約束自動佈局約束優先

H:|-[labelA]-(>=4)-[labelB]-|

不幸的是,labelAlabelB可以是某個大,不適合沒有截斷。我想確保無論如何,labelB都不會被截斷。 (labelB不會超過160像素)。但是,我想盡可能多地使用labelA的可用空間,因此將labelB固定到一半隻是浪費空間。

問題:如何優先考慮labelB始終保持其固有尺寸?如labelA可以被截斷。

回答

17

您的內容壓縮性設置爲高的標籤B:

[labelB setContentCompressionResistancePriority: UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; 

這意味着,B就儘量不低於文中給出的固有大小被壓縮。爲了使它儘可能小,您可能還需要設置contentHuggingPriority - 這將使它嘗試匹配文本的大小。

+0

真棒答案,就像一個魅力! ContentHugging可能最適合垂直使用,因爲標籤可以很好地將文本橫向排列。這不是一個真正值得關注的問題,只是指出它而已+1! – Byte

+1

我發現,擁抱有助於與多個標籤並排。 – jrturton