Скажем, у меня есть две NSLayoutConstraints с разными приоритетами, которые оба влияют на высоту некоторого вида ( middleView ).
Ниже middleView прикрепляется к нижней части topView, а его высота равна 500, если только верхняя часть bottomView не заставит его уменьшиться.
// topView and bottomView have well-defined constraints, and middleView has well defined x-axis/width constraints not shown here
middleView.topAnchor.constraint(isEqual: topView.bottomAnchor).isActive = true
let heightConstraint = middleView.heightAnchor.constraint(isEqualToConstant: 500)
heightConstraint.priority = UILayoutPriority.high
heightConstraint.isActive = true
let bottomConstraint = middView.bottomAnchor.constraint(isLessThanOrEqualTo: bottomView.topAnchor, constant: someMargin)
bottomConstraint.isActive = true // priority is .required by default
Помимо проверки, что высотаНа мой взгляд, 500, есть ли какой-то другой способ определить, какое из этих двух ограничений «действует»?Скажем, bottomView находится в таком положении, что если высота middleView меньше 500, имеет ли heightConstraint какое-либо свойство, позволяющее определить, что оно было обойдено ограничением с более высоким приоритетом, чем его собственное?
Мне бы хотелосьиспользовать heightConstraint в качестве своего рода «переключателя», который запускает что-то, когда это выполняется.