-1
回転しているUIViewのスクリーンショットを取得しようとしています。これは私のコードであるUIViewからUIImageへの変換が正しく機能しない
-(void)rotateImage:(int)radian
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationBeginsFromCurrentState:YES];
// The transform matrix
CGAffineTransform transform = CGAffineTransformRotate(self.baseImageView.transform, M_PI/2 * radian);
self.baseImageView.transform = transform;
}
-(NSData *)getData
{
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO,0.0);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return UIImageJPEGRepresentation(img, 1.0);
}
スクリーンショットが正常に作成されますが、その後、私は存在するすべてのviewcontrollersは左上から提示され、ビューが&不正な動作をバウンス。しかし、私は画像を回転させずにスクリーンショットを作成する場合、すべてが問題ありません。私はそれに取り組まれていて、何か助けに感謝しています。
注:既にUIGraphicsBeginImageContextWithOptionsパラメータを変更しようとしました。私のプロジェクトはARCを使用していません。
あなたは '[UIView commitAnimations];を呼び出しますか? – beyowulf
無関係ですが、なぜあなたはARCを使用していませんか?それはちょうど愚かです。 – rmaddy
そしてなぜ 'beginAnimations'を使用していますか?あなたがiOS 3に住んでいるような感じです。 – matt