2011-07-17 3 views
0
-(IBAction) change { 

    self.imageView.animationImages = myImages; 
    self.imageView.animationDuration = 2; 
    if(self.imageView.isAnimating == NO){ 
     [self.imageView startAnimating]; 
     NSLog(@"if bool = %d", self.imageView.isAnimating); 
    } 
    else { 
     self.imageView stopAnimating]; 
     NSLog(@"else bool = %d", self.imageView.isAnimating); 
    } 
} 

こんにちは、私はiOSプログラミングを勉強しています。UIImageViewのアニメーションに問題があります

しかし、私は質問があります。 ボタンがあり、ボタンをクリックすると、このメソッドが呼び出されます。

最初にボタンをクリックすると、このコードはif文を開始します。それが私が望むものです。

もう一度ボタンをクリックすると、else文が実行されると思います。

ですが、常にif文だけを実行します。

なぜですか? 私は本当になぜそれが分からない。助けてください

+0

画像がありますか? myImagesには何が入っていますか? –

+0

には3つのUIイメージファイルが含まれています。 UIImageの配列 – MoonSoo

+0

ボタンをクリックすると、3枚の画像が繰り返し表示されます。 – MoonSoo

答えて

0

animationImagesまたはanimationDurationのようなプロパティを設定するとアニメーションが停止するので、クリックするたびに停止してからif(再)を開始します。あなたが書いたアクションメソッドの外でこれらの2つのプロパティを設定して、if/elseシーケンスを実行してみてください。

-(IBAction) change { 
    // set these two anywhere else 
    //self.imageView.animationImages = myImages; 
    //self.imageView.animationDuration = 2; 
    if(self.imageView.isAnimating == NO){ 
     [self.imageView startAnimating]; 
     NSLog(@"if bool = %d", self.imageView.isAnimating); 
    } 
    else { 
     self.imageView stopAnimating]; 
     NSLog(@"else bool = %d", self.imageView.isAnimating); 
    } 
} 
+0

うわー。あなたが正しい!!ありがとうございました!!!! :-)それは愚かな間違いです:-( – MoonSoo

関連する問題