Swift:视觉格式语言:填充标签和修复按钮

Swift: Visual Format Language: Fill label and fix button

我有以下布局约束:

NSLayoutConstraint.constraintsWithVisualFormat("H:|-10-[label]-60-[button]-10-|", 
options: .AlignAllCenterY, 
metrics: nil, 
views: views)

但如果 [label] 太长,[按钮] 会被推离屏幕。

是否可以'fix'右边的[按钮],让[label]填充左边space的剩余部分?

谢谢。

发生这种情况的原因是无法同时满足您的所有约束条件。在您的情况下,您需要允许系统 "shrink" 标签(如有必要)以适合该行的所有内容。

您可以通过降低标签的抗压优先级来做到这一点:

label.setContentCompressionResistancePriority(UILayoutPriorityDefaultLow, forAxis: .Horizontal)