0

現在、ボタンをクリックして画像をアニメーション化していますが、問題は、画像がアニメーションを開始する前にストーリーボード上の位置からジャンプしていることです。なぜこれを行っているのかわかりません-私がやりたいのは、画面から離れた現在の位置から右に移動することだけです。

私は何か間違ったことをしているのですか、それとも何かが足りないのですか?

元の位置:

オリジナル

アニメーションの開始:

オリジナル

moveImage トリガー:

[self moveImage:_cornerCloud duration:3.0
              curve:UIViewAnimationOptionCurveLinear x:200.0 y:0];

moveImage 関数:

- (void)moveImage:(UIImageView *)image duration:(NSTimeInterval)duration
        curve:(int)curve x:(CGFloat)x y:(CGFloat)y
{

// Setup the animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];

// The transform matrix
CGAffineTransform transform = CGAffineTransformMakeTranslation(x, y);
image.transform = transform;

// Commit the changes
[UIView commitAnimations];
}
4

1 に答える 1

1
[UIView animateWithDuration:3.0f
                      delay:0.0f
                    options:UIViewAnimationOptionCurveLinear
                 animations:^{
                  // just set the center to off-screen
}
                 completion:^(BOOL finished){}];

それは少し簡単になるはずです。

于 2013-07-18T16:09:03.653 に答える