Координаты выражены в точках, а не в пикселях. contentScaleFactor
определяет отношение между точкой и пикселями: если оно равно 1, точки и пиксели одинаковы, но если оно равно 2 (как на сетчатке), это означает, что каждая точка имеет два пикселя.
При обычном рисовании работа с точками означает, что вам не нужно беспокоиться о разрешениях: в iphone 3 (scaleFactor 1) и iphone4 (scaleFactor 2 и 2x разрешение) вы можете использовать те же координаты и код рисования. Однако, если вы рисуете изображение (непосредственно, как текстуру ...) и просто используете нормальные координаты (точки), вы не можете доверять тому, что карта пиксель-точка имеет значение 1 к 1. Если вы это делаете, то каждый пиксель изображение будет соответствовать 1 точке, но 4 пикселям, если scaleFactor равен 2 (2 в направлении x, 2 в y), поэтому изображения могут стать немного размытыми
Работая с CATiledLayer
, вы можете получить некоторые неожиданные результаты с помощью коэффициента масштабирования 2. Я предполагаю, что наличие UIView
a contentScaleFactor==2
и слоя a contentScale==2
запутывает систему и иногда умножает масштаб. Может быть, что-то подобное происходит со Scrollview.
Надеюсь, это немного прояснит