0

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

4

1 回答 1

-2

我希望这有帮助:

UIGraphicsBeginImageContext(self.view.frame.size);
[testView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
于 2013-01-02T05:28:50.947 回答