4

アニメーションが終了したら、何らかのアクションを実行したいと考えています。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.80f];
self.view.transform = 
CGAffineTransformMakeTranslation(
                                 self.view.frame.origin.x, 
                                 480.0f + (self.view.frame.size.height/2)  // move the whole view offscreen
                                 );
[self.view setAlpha:0];
[UIView commitAnimations];

上記のようにアニメーションを実行しました。アニメーションが終了したことを確認する方法は、その後のアクションを実行できるようにします。

4

5 に答える 5

7

これを使って:

    [UIView animateWithDuration:0.80f animations:^{
    self.view.transform =
    CGAffineTransformMakeTranslation(
                                     self.view.frame.origin.x,
                                     480.0f + (self.view.frame.size.height/2)  // move the whole view offscreen
                                     );
    [self.view setAlpha:0];
    }
    completion:^(BOOL finished){
        // your code
    }];
于 2012-08-16T10:37:38.157 に答える
7

これをアニメーションに追加します。

[UIView setAnimationDidStopSelector:@selector(myAnimationEnded)];
[UIView setAnimationDelegate:self];

このメソッドは、いつ停止するかを教えてくれます。

- (void)myAnimationEnded{
     NSLog(@"animation ended");
}
于 2012-08-16T10:38:13.493 に答える
4

UIView-animateWithDuration:animations:completion:クラス メソッドを使用します。

[UIView animateWithDuration:0.8 animations:^{
        CGAffineTransformMakeTranslation(
                                         self.view.frame.origin.x, 
                                         480.0f + (self.view.frame.size.height/2)  // move the whole view offscreen
                                         );
        [self.view setAlpha:0];

    } completion:^(BOOL finished) {
        //this block is called when the animation is over
    }];
于 2012-08-16T10:40:25.590 に答える
0

の後にコードを記述し[UIView commitAnimations];ます。アニメーションはbeginAnimationsとの間に残りcommitAnimationsます。

于 2012-08-16T10:36:15.723 に答える
0

しないことsetAnimationDelegate

このメソッドの使用は、iOS 4.0 以降ではお勧めできません。ブロックベースのアニメーション メソッドを使用している場合は、デリゲートの開始コードと終了コードをブロック内に直接含めることができます。

于 2016-05-17T19:13:10.233 に答える