我正在尝试将 a 绘制UIView
成 a UIImage
。这是我正在使用的代码:
UIGraphicsBeginImageContextWithOptions(myView.bounds.size, YES, 0.f);
[myView.layer drawInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我已验证myView.bounds.size
有效。myView
在屏幕上正确显示。但是,img
完全是黑色的(我尝试在两者中显示UIImageView
并尝试将 JPEG 表示写入文件。)图像尺寸正确,颜色空间(在 JPEG 文件输出中)是 RGB,颜色配置文件是 sRGB 等。意味着我们不是在处理损坏的图像(从某种意义上说,图像/位图数据本身是有效的)。我已经在 6.0 模拟器、7.0 模拟器和 7.0.6 设备上测试过这个案例,都一样。该图层没有任何子图层,我尝试设置masksToBounds
为NO
未更改任何内容。
什么可能导致视图的图层不绘制?