Ответ 1
нажмите кнопку "Выровнять" на нижней панели инструментов в IB, затем выберите "Горизонтальный" или "Вертикальный центр". Сначала вы можете также исправить ширину и высоту, если хотите сохранить размер.
Всякий раз, когда я добавляю ограничения на высоту и ширину моего UILabel, текст затем переходит к вершине контроллера.
Как я могу вертикально центрировать UILabel в ViewController?
нажмите кнопку "Выровнять" на нижней панели инструментов в IB, затем выберите "Горизонтальный" или "Вертикальный центр". Сначала вы можете также исправить ширину и высоту, если хотите сохранить размер.
Для объяснения, почему это происходит:
Всякий раз, когда вы добавляете ограничения в представление в построителе интерфейсов, вы говорите IB, что хотите выбрать автоматический макет, и теперь вам нужно полностью контролировать макет. Причина, по которой вы видите ярлык в верхней части супервизора, заключается в том, что вы не добавили ограничений, определяющих расположение ярлыков в супервизии. См. Ответ mohacs о том, как добавить ограничения.
В случае, если кто-то все еще нуждается в этом, как вы можете делать программно
let centerCoordinate = self.view.frame.maxY - (self.view.frame.maxY/2.0)
label.frame = CGRectMake(centerCoordinate,
100, 50, 50)