[英]iOS: Images slide show
這是我的圖像幻燈片放映代碼:
-(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()方法。
第一次單擊按鈕時效果很好,但是此后每次單擊按鈕時,幻燈片的速度都會提高。
誰能告訴我為什么會這樣。
感謝名單。
首先在全局使用一個計時器。
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];
}
試試這個:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.