0

基本的に、MyClassに属するCustomViewLayoutと呼ばれるUIViewのスクリーンショットを撮りたいと思います。MyClassのビューはNormalViewに割り当てられます。したがって、私が呼び出すself.viewと、NormalViewを参照します。viewCustomCustomViewLayoutのアウトレットであるプロパティを作成しました。とにかく、CustomViewLayoutのスクリーンショットを撮りたいのですが、これを試しました。

UIGraphicsBeginImageContextWithOptions(self.viewCustom.bounds.size, self.viewCustom.opaque, 0.0);

[self.viewCustom.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;

その画像は、アプリ内メール(MFMailComposeViewController)内に表示/添付されます。また、機能しません。内部に疑問符が付いた青いボックスが表示されます。これは、画像が読み取れないことを意味していると思います。スクリーンショットコードを次のようにスクリーンショットに変更すると、アプリ内メールの画像添付コードに問題がないことがわかりself.viewます。

UIGraphicsBeginImageContextWithOptions(self.viewCustom.bounds.size, self.viewCustom.opaque, 0.0);

[self.viewCustom.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;

その後、正常に動作します。では、他のビューのスクリーンショットを撮るにはどうすればよいですか?助けてくれてありがとう!

4

1 に答える 1

0

解決策は、MyClassから別のペン先名を簡単にロードして、後で再ロードすることでした。簡単!

于 2012-05-27T07:27:32.210 に答える