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视图来保存UIViewUIIMageView (它们以前是UIView的子视图),并将UIView的rasterizationScale = 1.0UIImageViewrasterizationScale = 2.0 。 现在一切看起来都不错。