2

画像を 180 度回転させるアニメーションを実行しています。

次に、別のビューに切り替えるコードを挿入しました。

ただし、アプリはアニメーションが終了する前にビューを切り替えています。

後でビューを切り替えるためにアニメーションが終了するのを待つにはどうすればよいですか?

これが私のコードです:

- (IBAction)buttonPressed:(id)sender
{
    CABasicAnimation *imageRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];

    imageRotation.fromValue = [NSNumber numberWithFloat:0];
    imageRotation.toValue = [NSNumber numberWithFloat:((180*M_PI)/ 180)];

    imageRotation.duration = 1.5;
    imageRotation.repeatCount = 1;

    imageRotation.removedOnCompletion = NO;
    imageRotation.autoreverses=NO;
    imageRotation.fillMode = kCAFillModeForwards;

    [_image.layer addAnimation:imageRotation forKey:@"imageRotation"];

    // Switching Views
    [self performSegueWithIdentifier: @"ToGalleryVCSegue" sender: self];

}
4

1 に答える 1

5

UIView の animateWithDuration:animations:completion: メソッドを使用します。performSegueWithIdentifier:sender: への呼び出しを完了ブロックに入れます。例えば:

[UIView animateWithDuration:1.5
                 animations:^{
        // put your animation code here, eg:
        CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_2);
        self.imageView.transform = transform;
    }
                 completion:^{
        [self performSegueWithIdentifier: @"ToGalleryVCSegue" sender: self];
    }];
于 2013-07-16T21:06:59.887 に答える