Добавить ограничение на панель навигации программно Swift
Я пытаюсь добавить ограничение на панель навигации, у меня есть UIImageView
, которая имеет ширину, высоту и центрирована по горизонтали, я хочу добавить вертикальное пространство между UIImage
и navigationBar
к 0, я пытаюсь это сделать в течение примерно 1 часа и не мог понять, как, я пытался добавить ограничение к UIView
, и добавил константу navbarHeight + statusBarHeight
, и это сработало, но я хочу сделать связь между imageview и navbar {[7]]}
let verticalSpace = NSLayoutConstraint(item: image, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1, constant: 0)
view.addConstraint(verticalSpace) // this works
3 ответа:
Попробуйте с
topLayoutGuide
let verticalSpace = NSLayoutConstraint(item: image, attribute: .Top, relatedBy: .Equal, toItem: self.topLayoutGuide, attribute: .Bottom, multiplier: 1, constant: 0)
Приведенное выше объяснение ограничения:
Просто его называют: вертикальное пространство между изображением.Топ и самость.topLayoutGuide.Дно = 0
Это означает, что верхнее ограничение imageview связано с Нижним атрибутом topLayoutGuide с константой 0.