У меня есть UIImageView
в верхней части экрана, который имеет равную ширину и высоту.Я добавляю все программно, поэтому у меня нет раскадровки.Я даю ширину, высоту, верхний якорь UIImageView
и центрирую его на супервизор X якоряВерхняя привязка имеет постоянное значение 10.
Моя проблема заключается в том, что на устройствах iOS 11 и более поздних версиях пространство между вершиной superview и UIImageView
в порядке, но на iOS 10 и перед устройствами остается меньше места.Я думаю, что есть какое-то отношение к полям макета superview.
Резюме: то, что я даю как константу, не важно, всегда есть больше места на устройствах iOS 11 и более поздних версиях.
Как я это заявляю:
let logo = UIImageView()
let logoImage = UIImage(named: "logo")
logo.image = logoImage
logo.contentMode = .scaleAspectFit
logo.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(logo)
logo.heightAnchor.constraint(equalToConstant: 31).isActive = true
logo.widthAnchor.constraint(equalToConstant: 180).isActive = true
logo.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 10).isActive = true
logo.anchorCenterXToSuperview()
Как должно быть:
Неправильно: