为什么旋转UILabel无法渲染?

时间:2013-07-30 09:39:34

标签: ios uiimage uilabel

我的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。

1 个答案:

答案 0 :(得分:0)

您只是渲染图像视图的layer。图像视图的子视图具有自己的图层。

使用addSublayer代替addSubview,然后重试。

此外,您应首先检查屏幕上的旋转是否与预期一致 也许你必须确保你绘制的矩形足以包围所有渲染的对象,包括旋转的标签。