UIView更快的截屏至UIImage(特别是ipad3)
原创
©著作权归作者所有:来自51CTO博客作者巫师gg的原创作品,请联系作者获取转载授权,否则将追究法律责任
UIView截屏会应用于很多的场景,如:
1、具有纸书翻页动作效果的代码广泛用于iOS阅读类应用
2、保存当前场景
代码如下:
- (UIImage *) p_w_picpathByRenderingView:(UIView*) theView {
CGFloat oldAlpha = theView.alpha;
theView.alpha = 1;
UIGraphicsBeginImageContext(theView.bounds.size);
[theView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
theView.alpha = oldAlpha;
return resultingImage;
}
但如果处理不好,这里截屏有时候速度会不太理想。
一个建议的解决方案是,让UIView的layer采用CATiledLayer
CATiledLayer会很好的cache你的View.