複数行の文字列で構成されるUITextViewから画像にテキストを描画する方法は?
-
05-07-2019 - |
質問
iは、UITextViewから複数行の文字列を取得して、画像上に描画します。 画像内のテキストの位置はUITextView内の位置と正確に同じでなければなりませんが、textViewをUIImageViewに追加したくありません。これらのテキストで構成される新しい画像が必要ですか?それを行うための提案はありますか?
解決
任意の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();
これで、UIImageViewとUITextFieldのコンテンツを含むUIImageが表示され、ネットワーク経由で表示、保存、または送信できます。
他のヒント
これは良い解決策でした、ありがとう。
追加する必要があるものを追加したい
#import <QuartzCore/QuartzCore.h>
インポートに対して警告が消えます。
所属していません StackOverflow