3

CATiledLayers (アニメーション用) を使用するビューをスクリーン キャプチャしようとしていますが、必要な画像を取得できません。

Apple の「PhotoScroller」サンプル アプリケーションで試してみたところ、次のように追加されました。

UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:ctx];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

ただし、タイルは結果の UIImage にレンダリングされず、タイルのアウトラインだけが得られます。

CATiledLayer の renderInContext は CALayer とは異なる動作をするようです。

タイルをキャプチャしようとして何か間違ったことをしていますか? タイルを個別に自分でレンダリングする唯一の解決策ですか?

4

1 に答える 1

0

最後に、アニメーションのためだけにタイルを別のビューにレンダリングしようとするのではなく、 の新しいインスタンスを作成し、元のインスタンスのImageScrollView割り当てを解除する前に、元のインスタンスと新しいインスタンスを一緒にアニメーション化しました。

于 2012-10-12T03:49:45.130 に答える