Я сделал пример ViewController с двумя метками, чтобы выделить мою проблему. Цель состоит в том, чтобы вертикально разделить метки на 10, а затем отцентрировать их по вертикали, используя ограничения, превышающие или равные. Я использую визуальный формат, но это должно применяться, если я устанавливаю свои ограничения как view.topAnchor.constraint(greaterThan...
. У меня также есть два ограничения для горизонтального размещения меток
Мой ViewController:
class myVC: UIViewController {
lazy var titleLabel: UILabel = {
let l = UILabel(frame: .zero)
l.translatesAutoresizingMaskIntoConstraints = false
l.text = "Hello World"
l.font = .systemFont(ofSize: 50)
l.textColor = .black
return l
}()
lazy var descLabel: UILabel = {
let l = UILabel(frame: .zero)
l.translatesAutoresizingMaskIntoConstraints = false
l.text = "description"
l.font = .systemFont(ofSize: 35)
l.textColor = .gray
return l
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .yellow
view.addSubview(titleLabel)
view.addSubview(descLabel)
titleLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
descLabel.leadingAnchor.constraint(equalTo: titleLabel.leadingAnchor).isActive = true
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "V:|-(<=50)-[titleLabel]-(10)-[descLabel]-(<=50)-|", options: .init(), metrics: nil, views: ["titleLabel": titleLabel, "descLabel": descLabel]))
}
}
Это приводит к . Насколько я понимаю, это ДОЛЖНО разделять виды на 10 пунктов и центрировать метки по вертикали, потому что в формате "V:|-(<=50)-[titleLabel]-(10)-[descLabel]-(<=50)-|"
я говорю, что расстояние между вершиной метки заголовка и вершиной супервизора должно быть не менее 50 (большеThanOrEqualTo) и расстояние между нижней частью описания и нижней частью superView должно быть не менее 50. Как должны выглядеть мои ограничения сверху и снизу, если я хочу центрировать две метки по вертикали?
Да, я понимаю, что могу просто установить вертикальную и горизонтальные центры, но это пример, который я сделал для проблемы, для которой я не могу их использовать. Мне нужно иметь возможность центрировать вид с большим (или меньшим) ограничением или равным ему.