2011-06-18 18 views
0

正常に動作しているこのアニメーションを実行しようとしていますが、最後の番号を画面に残しておきます。現在、それは配列を通じて実行され、その後消えます..渡された番号でアニメーションを停止するにはどうしてですか?最後の画像でアニメーションを停止する方法は?

- (void)playAnimationToNumber:(int)number{ 

    NSMutableArray *imagesForAnimation = [[NSMutableArray alloc] initWithCapacity:0]; 


    for (int counter=1; counter<=number; counter++) { 

     NSString *imageNameForFirstNumber = [NSString stringWithFormat:@"Flap%i.png", counter]; 
     [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving1.png"]]; 
     [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving2.png"]]; 
     [imagesForAnimation addObject:[UIImage imageNamed:imageNameForFirstNumber]]; 
    } 
    animationArray.animationImages = [NSArray arrayWithArray:imagesForAnimation];   

    animationArray.animationDuration = 1.2; 
    animationArray.animationRepeatCount = 1; 
    [animationArray startAnimating]; 
    [self.view addSubview:animationArray]; 
    [imagesForAnimation release]; 


} 

答えて

0

アニメーションが終了した後に示されている画像を「画像」プロパティで指定されUIImageView startAnimating: How do you get it to stop on the last image in the series?によります。

animationArray.image = [imagesForAnimation lastObject]; 
+0

.imageプロパティに設定する必要がある最後のイメージは、「フェードアウト」エフェクトイメージと共にアニメーションに含まれていると考えています。問題は最後の「フェードアウト」イメージをアニメーション配列。 –

+1

非常に涼しい!それは完璧に働いた。 :) – HurkNburkS

0
 for (int counter=1; counter<number; counter++) { 
     ... 
     } 
     [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving1.png"]]; 
     [imagesForAnimation addObject:[UIImage imageNamed:[NSString stringWithFormat:@"Flap%i.png", number]]]; 

すべての画像が、最後の(カウンタ)、その後役立つはずアニメーションアレイへの最後の画像を追加することに反復:だから、このようなものは、トリックを行う必要があります。それがどのように機能するか教えてください。

関連する問題