Подтвердить что ты не робот

Изображения с прокруткой и разрешением сетчатки в CALayer

У меня есть UIView, который помещается как подвью в UIScrollView. У меня есть несколько дочерних представлений, состоящих из изображений, текста и кнопок в UIView. Чтобы получить приличную производительность прокрутки, я установил shouldRasterize = YES на слой в UIView. Это отлично поработало в этой производительности, поэтому у меня гладкая прокрутка и не возникает проблема, так как моя графика статична после рисования. Однако проблема заключается в том, что когда я устанавливаю shouldRasterize, растрированные графики размыты и имеют низкое разрешение на дисплее Retina. Есть ли способ иметь графику высокого разрешения, которая растрируется для производительности?

4b9b3361

Ответ 1

Кажется, мне нужно установить растеризациюScale для правильного значения для устройства следующим образом.

myView.layer.rasterizationScale = [[UIScreen mainScreen] scale];

Ответ 2

У меня была аналогичная проблема - вращающийся UIView с несколькими подзонами UIImageView. Когда я установил rasterizationScale = 2.0, изображения стали более четкими, но это привело к появлению повторного запуска. Чтобы исправить это, я создал containerView, в котором содержались UIView и UIImageView (которые ранее были рассмотрены в UIView) и применял rasterizationScale = 1.0 к UIView и rasterizationScale = 2.0 к UIImageView s. Теперь все выглядит неплохо.