У меня есть UIView, который определен ниже -
private let verticalSeparatorLine: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.alpha = 0.94
view.backgroundColor = .lightGray
return view
}()
Вот как я добавляю его в представление viewcontroller.
override func viewDidLoad() {
super.viewDidLoad()
addTestView()
}
private func addTestView() {
view.addSubview(verticalSeparatorLine)
NSLayoutConstraint.activate([
verticalSeparatorLine.centerX.constraint(to: view.centerX),
verticalSeparatorLine.bottomAnchor.constraint(to: view.bottomAnchor),
verticalSeparatorLine.widthAnchor.constraint(0.3),
verticalSeparatorLine.heightAnchor.constraint(70)
])
}
Если я добавляю этот verticalSeparatorLine в представление ViewController в более крупном устройстве, таком как iPhone X, вид выглядит так, как ожидалось. В устройствах меньшего размера ширина обзора равна нулю. Если я увеличу ширину до 2, он появится на обоих устройствах.
Я что-то упустил?
Обновление : если я заменю на leadingAnchor
, verticalSeparatorLine
будет отображаться с шириной 0,5.
verticalSeparatorLine.leadingAnchor.constraint(to: view.leadingAnchor, constant: 10),