У меня есть некоторые пользовательские кнопки добавить к просмотру в -viewDidLoad
Я хочу, чтобы по центру вертикально внутри вида, например, так:Вертикальное центрирование вида, автоматическое изменение и iPhone 5 4" экран
self.customButton.center = CGPointMake(98.f, self.view.center.y);
Однако мнения высота равна 504.0
даже на 3,5-дюймовом устройстве, где я ожидаю, что оно будет 416
(480 - 20 (высота строки состояния) - 44 (высота навигационной панели)).
Вид в xib использует «Retina 4 Fullscreen», но настройка его на свободную форму не помогает. Я, конечно, не хочу, чтобы два xibs учитывали разницу в высоте.
Я знаю, что могу использовать UIScreen, но я бы предпочел, чтобы представление было известно о разнице в высоте.
EDIT: странная вещь, в -viewWillAppear
, высота просмотра правильно установлена на 416.0
. Почему это не обрабатывается после того, как [super viewDidLoad]
находится вне меня.
Как люди обрабатывают это? Autolayout, вероятно, справится с этим, но мне нужен iOS5-совместимый метод. Может ли авторезистировать ручку «центрирования» каким-то образом?
Существует ограничение на размещение, называемое центром по вертикали. Вы можете попробовать это. – Douglas
Я полагаю, вы имеете в виду автозапуск, который является iOS6 + – Morrowless
Извините, неправильно прочитал это последнее предложение! – Douglas