视觉格式语言多重谓词

时间:2018-04-15 09:12:04

标签: swift autolayout constraints ios-autolayout visual-format-language

我正在使用Visual Format Language,我遇到了一个问题。

以Apple的Multiple Predicates为例:

Apple Layout Guide

多个谓词

  

[flexibleButton(大于= 70,< = 100)]

如果我希望按钮的大小处于正常状态为100,如果不起作用,则按钮可以减少到70.如何实现此目的?

我的例子如下:

  

“H:| - (大于= 10) - [文本字段] - (大于= 5,< = 50) - [firstButton] - (小于= 50) - [secondButton] - (大于= 10) - |“

所以我希望标准边距为50,但如果不起作用,Textfield可以扩展到5,但不能再扩展。实现这一目标的通常方法是什么?因为现在它只选择“5” - 约束并留在那里。

1 个答案:

答案 0 :(得分:0)

我使用优先级,现在它确实有效。 这是我的解决方案:

视觉语言:

  

" H:| - (大于= 10) - [文本字段] - (50 @ 800,> = 5 @ 790) - [firstButton] - (小于= 50) - [secondButton] - (大于= 10) - |"

最重要的是,我必须设置抗压力的优先级。

Textfield.setContentCompressionResistancePriority(UILayoutPriority(rawValue: 750), for: .horizontal)