我正在尝试将UIView(及其子视图)的内容保存到UIImage中。
以下是我正在使用的代码:
+(UIImage *)imageWithView:(UIView *)view {
UIGraphicsBeginImageContextWithOptions([view bounds].size, YES, 0);
[[view layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
它很棒......第一次。但是,如果我然后修改视图的子视图并再次调用此方法,我会在每个时间内获得旧的UIImage 。
据我所知,UIGraphicsEndImageContext()
确实会将位图图像从堆栈中弹出。
如何考虑视图子视图的当前状态,使这个imageWithView:方法工作?
答案 0 :(得分:-2)
我希望这会有所帮助:
UIGraphicsBeginImageContext(self.view.frame.size);
[testView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();