Правильный способ сделать это - использовать Ограничения безопасной зоны .Вы можете прочитать больше о них здесь .Она автоматически настроит кнопку соответствующим образом (в зависимости от устройства) после того, как вы установите ограничение верхней безопасной зоны в IB.
Теперь, если выдействительно хотите определить, работает ли приложение на iPhone X, есть ли способ взлома, который вы можете использовать.Однако, будьте осторожны, , потому что это определенно не правильное решение, и вам следует избегать его .
if let mainWindow = UIApplication.shared.delegate?.window, (mainWindow?.safeAreaInsets.top ?? 0) > 0.0 {
// Iphone X
}
РЕДАКТИРОВАТЬ
ЧтоЯ имел в виду, что с помощью ограничений безопасной области вы можете создать фиктивный UIView в качестве заполнителя для правильного размещения кнопки.Я создал вид и установил следующие ограничения: верхняя безопасная область, ведущий, трейлинг и высота.Затем я могу либо центрировать кнопку вертикально по всей области (первое изображение), либо просто в области под строкой состояния.