CALayer中的性能滚动和视网膜分辨率图像
我有一个UIView作为子视图放在UIScrollView中。 我有几个子视图组成的UIView中的图像,文本和button。 为了获得像样的滚动性能,我在UIView的图层上设置了shouldRasterize = YES
。 这工作很好,性能增加,所以我有平滑的滚动,并不构成问题,因为我的graphics是静态的一旦绘制。 但是,问题是,当我设置应该栅格化的graphics在Retina显示模糊和低分辨率。 有没有办法让高分辨率的graphics光栅化的性能?
似乎我需要将rasterizationScale设置为设备的适当值,如下所示。
myView.layer.rasterizationScale = [[UIScreen mainScreen] scale];
我有一个类似的问题 – 旋转UIView
与几个UIImageView
子视图。 当我设置rasterizationScale = 2.0
,图像变得更清晰,但是这导致锯齿重新出现。 为了解决这个问题,我创build了一个containerView
视图来保存UIView
和UIIMageView
(它们以前是UIView的子视图),并将UIView的rasterizationScale = 1.0
和UIImageView
的rasterizationScale = 2.0
。 现在一切看起来都不错。