Я прочитал Руководства по человеческому интерфейсу для iPhone X и в нем конкретно не указано "безопасный регион" (область, которая обслуживает как верхний вырез и нижний план на iPhone X). Я хотел бы знать размеры пикселей этой области, включая размеры, удаленные сверху и снизу.
Что такое "безопасный регион" для iPhone X (в пикселях), который влияет на верхнюю и нижнюю планку?
Ответ 1
В портрет
- Верх: 44pt
- Внизу: 34pt
- Влево/вправо: 0pt
В ландшафте
- Вверху: 0pt
- Внизу: 21pt
- Влево/вправо: 44pt
Ответ 2
Распечатав вставки безопасной области текущего окна с помощью следующего кода, вы можете получить размеры точек верхней и нижней безопасной области.
if #available(iOS 11.0, *) {
UIApplication.shared.keyWindow?.safeAreaInsets
// ...
}
На портрете верхняя область составляет 44 точки в длину, а нижняя область составляет 34 точки в длину.
Поскольку iPhone X имеет разрешение @3x, длина верхней области составляет 132 пикселя, а нижней - 102 пикселя.
Ответ 3
Xcode 9 ввел направляющие макета безопасной области в конструктор интерфейса. Вы можете включить их, зайдя в инспектор файлов раскадровки и отметив флажок "Использовать руководства по разметке безопасной области"
Оттуда всякий раз, когда вы добавляете ограничения к своему корневому представлению, вы получаете возможность ограничить его в безопасной области. На этой фотографии вид оранжевого цвета ограничен краями безопасной области, а вид синего цвета ограничен краями суперпредставления.
- Оранжевая рамка обзора: (0,0, 44,0, 375,0, 734,0)
- Синяя рамка просмотра: (0,0, 0,0, 375,0, 812,0)
Отсюда мы можем рассчитать, что 44 точки были использованы для верхней безопасной зоны, в то время как 34 точки были использованы для нижней зоны.
Ответ 4
Вы можете получить его из свойства safeAreaInsets
представления в UIViewController
.