0

用于幻灯片查看我的图片的 m 文件,我有 8 张,但是当运行程序时,它将跳过第 1 张图片并从第 2 张图片开始。请如何正确操作

- (void)viewDidLoad
{    
    [super viewDidLoad];   
    imageId=0;
    [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
}

-(void)changeImage
{
    imageId = imageId + 1;
    CATransition * trs = [CATransition animation];
    trs.duration = 1;
    [trs setType:kCATransitionPush];
    int id = imageId % NUMBER_OF_IMAGES;
    imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", id]];
    [imageView.layer addAnimation:trs forKey:kCATransition];
}
4

1 回答 1

0

正如克里斯所说,您在加载图像时会增加图像编号。只需将增量线移动到方法的末尾:

-(void)changeImage {
//    imageId = imageId + 1;
    CATransition * trs = [CATransition animation];
    trs.duration = 1;
    [trs setType:kCATransitionPush];
    int id = imageId % NUMBER_OF_IMAGES;
    imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", id]];
    [imageView.layer addAnimation:trs forKey:kCATransition];
    imageId++;
}
于 2013-11-19T10:33:03.767 回答