ios - UITextView 不会旋转

标签 ios xcode uiimage uitextview

我在 UIImage 上添加了一个文本标签。我成功地添加了文本标签,但是我想将它旋转 90 度以使其垂直。

这是我拥有的代码:

UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];

UITextView *myText = [[UITextView alloc] init];
myText.font = [UIFont fontWithName:@"font-name" size:300.0f];
myText.textColor = [UIColor whiteColor];
myText.text = @"Text";
myText.backgroundColor = [UIColor clearColor];
[myText setTransform:CGAffineTransformMakeRotation(-90* M_PI/180)];

CGSize maximumLabelSize = CGSizeMake(image.size.width,image.size.height);
CGSize expectedLabelSize = [myText.text sizeWithFont:myText.font
                                   constrainedToSize:maximumLabelSize
                                       lineBreakMode:UILineBreakModeWordWrap];


myText.frame = CGRectMake(image.size.width - expectedLabelSize.width, image.size.height - expectedLabelSize.height, image.size.width, image.size.height);

[[UIColor whiteColor] set];
[myText.text drawInRect:myText.frame withFont:myText.font];
UIImage *myNewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

我尝试使用以下方法转换 TextView :
[myText setTransform:CGAffineTransformMakeRotation(-90* M_PI/180)];

也:
[myText setTransform:CGAffineTransformMakeRotation(-M_PI / 2)];

但它根本不起作用,没有任何 react 。将不胜感激任何帮助!

最佳答案

您正在使用 [myText.text drawInRect:myText.frame withFont:myText.font]; 绘制文本但是您正在旋转从中获取文本的 View 。如果要以这种方式绘制字符串,则需要旋转上下文然后绘制。例如:

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextRotateCTM(context,-M_PI / 2);
[myText.text drawInRect:myText.frame withFont:myText.font];
CGContextRestoreGState(context);

这将实质上旋转 Canvas ,绘制字符串,然后将 Canvas 旋转回来。

不过,仅旋转具有透明背景的 View 可能更容易。

关于ios - UITextView 不会旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36249620/

相关文章:

ios - 在 Iphone 中,在哪里存储大量但临时的数据,如 1000 张图像

javascript - UIWebView 使用 elementFromPoint() 获取图片 url

ios - 如何对iOS应用程序代表方法的调用进行单元测试?

ios - 如何平均固定宽度?

ios - 表格 View 单元格中的 ImageView 切断标签(自动布局)

ios - 使用 MapKit Swift 在两个坐标之间绘制路径

iphone - Instruments 中的时间分析器

ios - 将 UIView 渲染为没有 subview 的图像

iOS 自定义键盘更改约束

取消隐藏 View 时 iOS 自动布局 fatal error NSInternalInconsistencyException