UITextView を取得して、ユーザーがテキストを入力できるようにしてから、コンテンツのコピーを Quartz ビットマップ コンテキストにトリガーしたいと思います。このコピーアクションを実行する方法を知っている人はいますか? drawRect メソッドをオーバーライドして [super drawRect] を呼び出し、結果のコンテキストを取得してコピーする必要がありますか? もしそうなら、あるコンテキストから別のコンテキストにコピーするためのサンプルコードへの参照を誰かが持っていますか?
更新: 以下の回答のリンクを読んでから、UIView の内容をビットマップ コンテキストにコピーしようとしましたが、まだ何かが正しくありません。内容を X 軸に沿ってミラーリングします (つまり、上下逆さまにします)。CGContextScaleCTM() を使用してみましたが、効果がないようです。
最初の 4 行から作成された UIImage が、奇妙に回転/反転しない UIImage を適切に作成することを確認したので、後の呼び出しで何か問題があります。
// copy contents to bitmap context
UIGraphicsBeginImageContext(mTextView.bounds.size);
[mTextView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self setNeedsDisplay];
// render the created image to the bitmap context
CGImageRef cgImage = [image CGImage];
CGContextScaleCTM(mContext, 1.0, -1.0); // doesn't seem to change result
CGContextDrawImage(mContext, CGRectMake(
mTextView.frame.origin.x,
mTextView.frame.origin.y,
[image size].width, [image size].height), cgImage);
助言がありますか?