UIViewを回転させながらスライドさせようとしています。最終的な結果は、基本的にUIViewであり、画面を左に約70度回転し、端にぶつかり、右に約50度回転し、最終的に静止します(さらに数回ぐらついた後)。スライドさせて回転させることはできますが、2番目の回転をアニメートしようとすると(エッジに当たると)、フレームは元の値(画面の左側に戻る)に戻ります。UIViewがスライドした後、フレームを固定するにはどうすればよいですか?
[UIView animateWithDuration:.4 delay:0.0
options:UIViewAnimationCurveEaseInOut
animations:^{
CGAffineTransform slideAndRotate = CGAffineTransformMakeTranslation(300, 0);
slideAndRotate = CGAffineTransformRotate(slideAndRotate, RADIANS(75));
self.ticketImageView.transform = slideAndRotate;
} completion:^(BOOL finished) {
// set the frame to the location where it ended up
NSLog(@"%@", NSStringFromCGRect(self.ticketImageView.frame));
[UIView animateWithDuration:.35
delay:0.05
options:UIViewAnimationCurveEaseInOut
| UIViewAnimationOptionBeginFromCurrentState
animations:^{
CGAffineTransform rightAngle1 =
CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-45.0));
[[self ticketImageView] setTransform:rightAngle1];
} completion:^(BOOL finished) {
}];