0

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

但是当图像保存到照片时,我看不到已经旋转的 UILabel,如果我不旋转 UILabel,代码可以正常工作并且 UILabel 会显示在图像中。

那么,为什么旋转的 UILabel 不能被渲染呢?

谢谢。

4

1 回答 1

0

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

使用addSublayer代替并重addSubview试。

此外,您应该首先检查屏幕上的旋转是否符合预期。
另外,也许您必须确保绘制的矩形足够大以包含所有渲染的对象,包括旋转的标签。

于 2013-07-30T09:53:39.400 回答