如何在UITextView上的图像上绘制文字由多个线串组成?

时间:2009-09-09 14:56:08

标签: iphone uitextview

我想从UITextView获取多行字符串并将其绘制在图像上, 图像中文本的位置必须与UITextView中的位置完全相同,但我不希望jus将textView添加到UIImageView,我需要一个新图像由那些文本组成,是否可能?有什么建议吗?

2 个答案:

答案 0 :(得分:6)

您可以将任何UIView的内容捕获到UIImage中。首先,创建一个空的UIView并将UIImageView和UITextView定位为子视图:

// Assumes you have UIImageView *myImageView and UITextField *myTextField
UIView *parentView = [[UIView alloc] initWithFrame:CGRectZero];
[parentView addSubview:myImageView];
[myImageView setFrame:CGRectMake(0, 0, 100, 100)];
[parentView addSubview:myTextField];
[myTextField setFrame:CGRectMake(20, 20, 80, 20)];
[parentView sizeToFit];

现在创建一个图形上下文并将parentView绘制到其中:

UIGraphicsBeginImageContext([parentView bounds].size);
[[parentView layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

您现在拥有一个UIImage,其中包含UIImageView和UITextField的内容,可以通过网络显示,保存或发送。

答案 1 :(得分:1)

这是一个很好的解决方案,谢谢。

我想补充一点,你需要添加

#import <QuartzCore/QuartzCore.h>

对于您的导入,警告就会消失。