Ответ 1
Пиксель на iOS - это полное разрешение устройства, что означает, что если у меня есть изображение размером 100x100 пикселей, то телефон будет отображать его 100x100 пикселей на стандартном устройстве без сетчатки. Однако, поскольку новые iPhone имеют четырехкратную плотность пикселей, это же изображение будет отображаться с разрешением 100x100 пикселей, но будет выглядеть вдвое меньше. Инженеры iOS решили эту проблему очень давно (еще в OS X с Quartz), когда они представили систему очков Core Graphics. Точка - это стандартная длина, эквивалентная 1х1 пикселю на устройстве без сетчатки и 2х2 пикселя на устройстве с сетчаткой. Таким образом, ваше изображение 100x100 будет отображаться в два раза больше на устройстве Retina и в основном нормализует то, что видит пользователь.
Он также обеспечивает стандартную систему измерения на устройствах iOS, потому что независимо от того, как изменяется плотность пикселей, всегда было 320x480 точек на экране iPhone и 768x1024 точек на экране iPad. *
Но в то же время вы можете игнорировать документацию, учитывая, что устройства Retina были представлены как минимум с iOS 4, и я не знаю слишком многих людей, все еще использующих iOS 3 на новом iPhone. Но если возникает такой случай, ваш UIImage должен будет отображаться точно в два раза больше его размеров в пикселях на сетчатке iPhone, чтобы компенсировать разницу в плотности пикселей.
* Начиная с iPhone 5, размеры iPhone больше не стандартизированы.Пожалуйста, используйте соответствующие API для получения размеров экрана или использования ограничений макета.