Привет,
Я работаю над приложением, вдохновленным примером "ZoomingPDFViewer", который поставляется с iOS SDK. В какой-то момент я нашел следующий бит кода:
// to handle the interaction between CATiledLayer and high resolution
// screens, we need to manually set the tiling view
// 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. Это, по-видимому, актуально для дисплеев с высоким разрешением (например, Retina Display). Какое влияние имеет эффектcontentScaleFactor
и на что? -
При использовании
UIScrollView
и настройке его для увеличения, скажем, моего contentView; все подпункты contentView также масштабируются. Как это работает? Какие свойстваUIScrollView
изменяются, чтобы сделать даже видеоплееры размытыми и масштабироваться?
TL; DR: Как работает функция масштабирования UIScrollView "под капотом"? Я хочу понять, как это работает, поэтому я могу написать правильный код.
Любые подсказки и объяснения высоко ценятся!:)