ios – 将UIView及其所有子视图绘制到Context

前端之家收集整理的这篇文章主要介绍了ios – 将UIView及其所有子视图绘制到Context前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
创建一个UIView并保持小snow.png添加并移除到UIView以模拟下雪效果.

然后我想将屏幕捕获为图像.

UIGraphicsBeginImageContext(self.uiviewPreview.bounds.size);
[self.uiviewPreview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage,nil,nil);

注意:self.uiviewPreview是UIView.

但我只能在保存的jpg中看到UIview中的图像.但是当时所有添加的子视图都没有保存.

我想知道renderInContext是否正确使用

解决方法

这是正确的方法,它应该工作.

请注意,该方法有一个很大的缺陷,它不反映图层动画的实际状态(alpha,autoresizing,repositioning等).如果您在动画时绘制图层,它将无法正常工作.

猜你在找的iOS相关文章