如何解决以编程方式满足两个自动布局约束-Swift
我想设置一个具有自动版式约束的UIButton
:
基本上我希望高度为容器视图高度的倍数:
button.heightAnchor.constraint(equalTo: view.heightAnchor,multiplier: 0.43).isActive = true
如果高度未达到44的常数,我想将其设置为44,则添加以下内容:
button.heightAnchor(greaterThanOrEqualToConstant: 44).isActive = true
显然以编程方式设置2个约束会导致冲突,有没有一种方法可以以编程方式完成这2个先决条件而不会引起警告?
解决方法
您将优先级设置为
let con = button.heightAnchor.constraint(equalTo: view.heightAnchor,multiplier: 0.43)
con.layoutPriority //////////////
con.isActive = true
或自己进行数学计算并用if语句决定
,您需要为“比率”约束设置较低的优先级
let constraint = button.heightAnchor.constraint(equalTo: view.heightAnchor,multiplier: 0.43)
constraint.priority = .defaultHigh
constraint.isActive = true
如果引擎仍然无法确定布局,则可以尝试使用其他优先级值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。