Приветствую,
Я работаю над приложением, вдохновленным примером "ZoomingPDFViewer", который поставляется с iOS SDK. В какой-то момент я нашел следующий кусок кода:
// to handle the interaction between CATiledLayer and high resolution
// screens, we need to manually set the tiling view's
// contentScaleFactor to 1.0. (If we omitted this, it would be 2.0
// on high resolution screens, which would cause the CATiledLayer
// to ask us for tiles of the wrong scales.)
pageContentView.contentScaleFactor = 1.0;
Я попытался узнать больше о contentScaleFactor
и что он делает. Прочитав всю документацию Apple, в которой упоминался этот параметр, я поискал в Google, но так и не нашел однозначного ответа на вопрос, что он на самом деле делает.
Вот несколько вещей, которые меня интересуют:
Похоже, что contentScaleFactor
оказывает какое-то влияние на графический контекст, когда содержимое UIView/CALayer's рисуется. Похоже, это относится к дисплеям с высоким разрешением (например, Retina Display). Какое влияние имеет contentScaleFactor
и на что?
При использовании UIScrollView
и настройке его на масштабирование, скажем, моего contentView; все вложенные виды contentView тоже масштабируются. Как это работает? Какие свойства UIScrollView
изменяет, чтобы даже видеоплееры стали размытыми и увеличили масштаб?
TL;DR: Как работает функция масштабирования UIScrollView "под капотом"? Я хочу понять, как это работает, чтобы я мог написать правильный код.
Любые подсказки и объяснения будут высоко оценены! :)