Как добавить дополнительную высоту сверху только для iPhone X? - PullRequest
0 голосов
/ 18 мая 2018

У меня есть кнопка, которая проходит до верхней части экрана, под строкой состояния.В центре кнопки находится знак «+».Это выглядит нормально на всех iPhone, кроме iPhone X. Для iPhone X кнопка должна быть выше, потому что '+' слишком близко к выемке.Есть ли способ сделать это в раскадровке?

enter image description here

enter image description here

1 Ответ

0 голосов
/ 19 мая 2018

Правильный способ сделать это - использовать Ограничения безопасной зоны .Вы можете прочитать больше о них здесь .Она автоматически настроит кнопку соответствующим образом (в зависимости от устройства) после того, как вы установите ограничение верхней безопасной зоны в IB.

Adding safe area constraints

Теперь, если выдействительно хотите определить, работает ли приложение на iPhone X, есть ли способ взлома, который вы можете использовать.Однако, будьте осторожны, , потому что это определенно не правильное решение, и вам следует избегать его .

if let mainWindow = UIApplication.shared.delegate?.window, (mainWindow?.safeAreaInsets.top ?? 0) > 0.0 {
    // Iphone X
}

РЕДАКТИРОВАТЬ

ЧтоЯ имел в виду, что с помощью ограничений безопасной области вы можете создать фиктивный UIView в качестве заполнителя для правильного размещения кнопки.Я создал вид и установил следующие ограничения: верхняя безопасная область, ведущий, трейлинг и высота.Затем я могу либо центрировать кнопку вертикально по всей области (первое изображение), либо просто в области под строкой состояния.

enter image description here enter image description here

...