将UIView及其所有子视图绘制到上下文中。

4

创建了一个UIView,并向其中添加和删除小的snow.png,以模拟下雪效果。

然后我想捕获屏幕作为图像。

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

注意:self.uiviewPreview是UIView。
但我只能在保存的jpg中看到UIview中的图像。但那时添加的所有子视图都没有被保存。
我想知道是否正确使用renderInContext。
1个回答

1

这是正确的方法,它应该能够运行。

请注意,该方法有一个很大的缺陷,它不能反映层动画的实际状态(透明度、自动调整大小、重新定位等)。如果您在动画过程中绘制图层,则该方法将无效。


layer renderInContext 不会渲染子视图,你需要自己处理。 - jjxtra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接