视觉格式语言多谓词
Visual Format Language Multiple Predicates
我正在使用视觉格式语言,我 运行 遇到了一个问题。
以Apple的Multiple Predicates为例:
多个谓词
[flexibleButton(>=70,<=100)]
如果我希望按钮在正常状态下的大小为 100,如果这不起作用,按钮可以减小到 70。我该如何实现?
我的示例如下所示:
"H:|-(>=10)-[Textfield]-(>=5,<=50)-[firstButton]-(<=50)-[secondButton]-(>=10)-|"
所以我希望标准边距为 50,但如果这不起作用,则允许文本字段扩展到 5,但不能进一步扩展。实现这一目标的通常方法是什么?因为现在它只是选择“5”-Constraint 并停留在那里。
我使用了优先级,现在它起作用了。
这是我的解决方案:
视觉语言:
"H:|-(>=10)-[Textfield]-(50@800,>=5@790)-[firstButton]-(<=50)-[secondButton]-(>=10)-|"
除此之外,我还必须设置压缩阻力的优先级。
Textfield.setContentCompressionResistancePriority(UILayoutPriority(rawValue: 750), for: .horizontal)
我正在使用视觉格式语言,我 运行 遇到了一个问题。
以Apple的Multiple Predicates为例:
多个谓词
[flexibleButton(>=70,<=100)]
如果我希望按钮在正常状态下的大小为 100,如果这不起作用,按钮可以减小到 70。我该如何实现?
我的示例如下所示:
"H:|-(>=10)-[Textfield]-(>=5,<=50)-[firstButton]-(<=50)-[secondButton]-(>=10)-|"
所以我希望标准边距为 50,但如果这不起作用,则允许文本字段扩展到 5,但不能进一步扩展。实现这一目标的通常方法是什么?因为现在它只是选择“5”-Constraint 并停留在那里。
我使用了优先级,现在它起作用了。 这是我的解决方案:
视觉语言:
"H:|-(>=10)-[Textfield]-(50@800,>=5@790)-[firstButton]-(<=50)-[secondButton]-(>=10)-|"
除此之外,我还必须设置压缩阻力的优先级。
Textfield.setContentCompressionResistancePriority(UILayoutPriority(rawValue: 750), for: .horizontal)