我的UILabel像这样旋转:
currentLabel.transform = CGAffineTransformMakeRotation(135 / 180 * M_PI);
我将UILabel作为imgViewToSave(这是一个UIImageView)的子视图,最后将它保存为图像:
UIGraphicsBeginImageContextWithOptions(imgViewToSave.bounds.size, imgViewToSave.opaque, 0.0);
[imgViewToSave.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
但是当图像保存到Photo时,我看不到已旋转的UILabel,如果我不旋转UILabel,代码工作正常,UILabel将显示在图像中。
那么,为什么旋转UILabel无法渲染?
THX。
答案 0 :(得分:0)
您只是渲染图像视图的layer
。图像视图的子视图具有自己的图层。
使用addSublayer
代替addSubview
,然后重试。
此外,您应首先检查屏幕上的旋转是否与预期一致 也许你必须确保你绘制的矩形足以包围所有渲染的对象,包括旋转的标签。