我在UIImageView动画中遇到问题

时间:2011-07-17 10:51:02

标签: iphone objective-c cocoa-touch

-(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编程。

但我有一个问题。 我有一个按钮,当我单击按钮时,将调用此方法。

首先我点击按钮,然后这段代码将启动if语句。这就是我想要的。

我再次单击该按钮,我认为这将执行else语句。

但它总是只执行if语句。

为什么? 我真的不知道为什么会这样。请帮帮我

1 个答案:

答案 0 :(得分:0)

我认为设置animationImagesanimationDuration等属性会停止动画,因此通过点击,您每次都会停止,然后在if部分中重新启动它。尝试在你编写的action方法之外设置这两个属性,然后让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);
   }
}