Как нарисовать текст на изображении из UITextView состоит из нескольких строк строки? - PullRequest
3 голосов
/ 09 сентября 2009

Я хочу получить многострочную строку из UITextView и нарисовать ее на изображении, положение текста на изображении должно точно соответствовать положению в UITextView, но я не хочу добавлять текстовое представление в UIImageView, мне нужно новое изображение, состоящее из этого текста, возможно ли это? Любое предложение сделать это?

Ответы [ 2 ]

6 голосов
/ 09 сентября 2009

Вы можете захватить содержимое любого 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 голос
/ 05 ноября 2009

Это было хорошее решение, спасибо.

Я хотел бы добавить, что вам нужно добавить

#import <QuartzCore/QuartzCore.h>

К вашему импорту, чтобы предупреждения исчезли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...