我正在尝试将 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: 方法起作用?