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

3 iphone uitextview

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

pix*_*x0r 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];
Run Code Online (Sandbox Code Playgroud)

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

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

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