Почему размер экрана моего iPhone XR 375 × 812? - PullRequest
0 голосов
/ 21 февраля 2019
print(UIScreen.main.currentMode?.size) // 750 * 1624
print(UIScreen.main.bounds.size) // 375 * 812
print(UIScreen.main.nativeBounds) // 828 * 1792

Я использую раскадровку запуска.

1 Ответ

0 голосов
/ 21 февраля 2019

Из документации Apple

UIScreen.main. nativeBounds : ограничивающий прямоугольник физического экрана, измеряется в пикселях.

UIScreen.main. границы : ограничивающий прямоугольник экрана, измеренный в точках.

UIScreen.main.bounds. размер Размер экрана, измеренный в пикселях.

Пиксели против точек отсюда

Пиксель на iOS - это полное разрешение устройства, что означает, что если у меня есть изображение, которое имеет длину 100x100 пикселей, то телефонбудет отображать его 100x100 пикселей на стандартном устройстве без сетчатки.Однако, поскольку новые iPhone имеют плотность пикселей в четыре раза, это же изображение будет отображаться с разрешением 100x100 пикселей, но будет выглядеть вдвое меньше.Инженеры iOS решили эту проблему очень давно (еще в OS X с Quartz), когда они представили систему очков Core Graphics.Точка - это стандартная длина, эквивалентная 1х1 пикселю на устройстве без сетчатки и 2х2 пикселя на устройстве с сетчаткой.Таким образом, ваше изображение 100x100 будет отображаться в два раза больше на устройстве Retina и в основном нормализует то, что видит пользователь.

Оно также обеспечивает стандартную систему измерения на устройствах iOS, потому что независимо от того, как изменяется плотность пикселей,на экране iPhone всегда было 320х480 баллов и 768х1024 балла на экране iPad. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...