0

imageViewでアニメーションを必要とするアプリケーションに取り組んでいます。画像の開始位置はCGPoint(735,112)で、アニメーションボタンをクリックすると、画面の左に移動する必要があります。つまり、CGPoint(20,112)をポイントし、アニメーションを左から右に、つまりCGPoint(をポイントするまで繰り返す必要があります。 735,112)、この後停止する必要があります。私は次のコードを使用しています。

CGRect newRect=cleanStrip.frame;
[UIView beginAnimations:@"animation1" context:nil];
[UIView setAnimationDuration:3.0];
[UIView setAnimationDelegate:self];
[UIView setAnimationRepeatAutoreverses:YES];
newRect.origin.x=20;
cleanStrip.frame=newRect;
[UIView commitAnimations];

アニメーションを繰り返した後、画像ビューは元の位置CGPoint(735,112)で停止する必要がありますが、上記のコードはCGPoint(20,112)で画像を停止します。

アニメーション後に画像を元の位置で停止するにはどうすればよいですか。ありがとう、

4

1 に答える 1

3

ブロックを使用してアニメーションを開始できます

__block CGRect newRect=cleanStrip.frame;
__block int originx = newRect.origin.x;
[UIView animateWithDuration:2.0
             animations:^{
                 newRect.origin.x=20;
                 cleanStrip.frame=newRect;
             }
             completion:^(BOOL finished){
                 [UIView animateWithDuration:2.0
                                  animations:^{
                                       newRect.origin.x=originx ;
                                       cleanStrip.frame=newRect;
                                  }];

             }];
于 2013-01-30T05:55:07.560 に答える