Я пытаюсь получить ссылку на topConstraint (например, прикрепленный) данного представления, связанного с безопасной областью - top.
Я создал функцию, которая работает нормально, но логически ненадежно.
func getSafeAreaTopConstraint(view: UIView, in targetView: UIView) -> NSLayoutConstraint? {
let constraints = targetView.constraints.filter({ $0.firstItem as? UIView == view || $0.secondItem as? UIView == view })
return constraints.filter({ $0.firstAttribute == .top || $0.secondAttribute == .top }).first
}
Я хотел бы создать функцию, которая сравнивается следующим образом
func getSafeAreaTopConstraint(view: UIView, in targetView: UIView) -> NSLayoutConstraint? {
let constraints = targetView.constraints.filter({ ($0.firstItem as? UIView == view && $0.secondItem == SafeArea.Top) || ($0.secondItem as? UIView == view && $0.firstItem == SafeArea.Top) })
return constraints.filter({ $0.firstAttribute == .top || $0.secondAttribute == .top }).first
}
Как сравнить, если firstItem
или secondItem
равно Safe Area.Top
?