iOS:图像幻灯片放映

时间:2014-09-05 05:46:20

标签: ios imageview xcode5

这是我的图片幻灯片放映代码:

-(void)setImage
{
     imageView.image = [UIImage imageNamed:[arrImages objectAtIndex:0]];
     [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
}

-(void)changeImage
{

   imageId = imageId + 1;

   int id = imageId % [arrImages count];
   CATransition * trs = [CATransition animation];
   trs.duration = 0.5;
   [trs setType:kCATransitionPush];
   imageView.image = [UIImage imageNamed:[arrImages objectAtIndex:id]];
   [imageView.layer addAnimation:trs forKey:kCATransition];
}

我在点击按钮时调用setImage()方法。

第一次点击按钮时效果很好但是在我点击按钮后,幻灯片的速度会增加。

任何人都可以告诉我为什么会这样。

感谢名单。

1 个答案:

答案 0 :(得分:1)

首先采取全球计时器。

 NSTimer *timer;

 -(void)setImage
 {
    imageView.image = [UIImage imageNamed:[arrImages objectAtIndex:0]];
    if (timer)
    {
      [timer invalidate];
      timer = nil;
    }

    timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
 }

试试这个:)