如何加速UIView快照?

时间:2012-03-21 01:42:25

标签: objective-c performance

我正在构建一个有趣的UI转换原型,需要我将任意视图控制器细分为切片。我目前正在快照视图并使用resulImage作为一堆CALayers的.content。效果很好,除了在iPhone 4(iOS 5.1)上花费0.25-0.5秒到快照,这使得用户体验远非流畅。我正在使用标准方法:

UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

有没有比这更快的方法来获取快照?正在拍摄的视图通常包含十几个视图和图像,其中许多都具有透明度。

1 个答案:

答案 0 :(得分:0)

您是否尝试在CALayer上启用shouldRasterize?