0

UIimageView静止画像として表示される があります。画像に触れると、その中の 16 枚の画像のアニメーションが始まりますUIImageViewUIImageViewアニメーションが完成したら、の画像を新しい画像に設定したいと思います。現在コードを持っている方法でこれを行う方法がわかりません。誰かがこれについてどうすればよいか教えてもらえますか? (アニメーションの長さに設定された) を使用して別のメソッドを呼び出そうとしましたNSTimerが、これは実際には機能しません。これが私のコードです。助けていただければ幸いです。

- (void) hdFallingAnim {
    NSString *fileName; 
    NSMutableArray *imageArray = [[NSMutableArray alloc] init];
    for(int i = 1; i < 17; i++) {
        fileName = [NSString stringWithFormat:@"FallingReg/HD_Falling_REG%d.png", i];
        [imageArray addObject:[UIImage imageNamed:fileName]];
    }
    hdFalling.userInteractionEnabled = YES;
    hdFalling.animationImages = imageArray;
    hdFalling.animationDuration = 2;
    hdFalling.animationRepeatCount = 1;
    hdFalling.contentMode = UIViewContentModeCenter;
    [self.view addSubview:hdFalling];
    [hdFalling startAnimating];


}
4

1 に答える 1

0

これらの種類のアニメーションでこれを検出する公式の方法はありません。次のようなバックグラウンド スレッドでポーリングできます。

dispatch_queue_t queue = dispatch_queue_create("waste.of.resources.but.it.works", 0);
    dispatch_async(queue, ^{
        while( [hdFalling isAnimating]) {
            //Waiting....
        }

        //Finished
        hdFalling.animationImages = nil;
        hdFalling.image = //Your image
    });
    dispatch_release(queue);
于 2012-06-21T14:48:25.933 に答える