我正在使用以下内容从 UIView 生成 UIImage
UIGraphicsBeginImageContextWithOptions(view.frame.size, YES, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
这通常有效,但大约有一半的时间,当调用 renderInContext 时出现此错误:
<Error>: CGContextDrawImage: invalid context 0x84d0b20
有谁知道为什么会发生这种情况,或者如何检测它何时发生?我想如果上下文的地址是 0x0 我会感觉更好,因为它至少是我可以测试和处理的东西,但到目前为止这让我很难过。
编辑:哎呀。意味着使用 view.frame.size 而不是 view.bounds.size。