iOS -创建照片幻灯片



我已经为我的应用程序做了一个简单的照片幻灯片,问题是我的代码不重复图像后最后一个图像再次!下面是我的代码:

- (IBAction)start:(id)sender {
    _button.hidden = YES;
    [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(photoCounter) userInfo:nil repeats:YES];

}

- (void)photoCounter {
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.90];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:NO];
    [self updatePhoto];
    imageCount ++;
    [UIView commitAnimations];
}
- (void)updatePhoto {
    switch (imageCount) {
        case 0:
            _images.image = [UIImage imageNamed:@"wall1.jpg"];
            break;
        case 1:
            _images.image = [UIImage imageNamed:@"wall2.jpg"];
            break;
        case 2:
            _images.image = [UIImage imageNamed:@"wall3.jpg"];
            break;
        case 3:
            _images.image = [UIImage imageNamed:@"wall4.jpg"];
            break;
        case 4:
            _images.image = [UIImage imageNamed:@"wall5.jpg"];
            break;
        default:
            break;
    }
}

从photoCounter方法中删除imagecount++和

- (void)updatePhoto 
{
    switch (imageCount) 
    {
        case 0:
            _images.image = [UIImage imageNamed:@"wall1.jpg"];
            break;
        case 1:
            _images.image = [UIImage imageNamed:@"wall2.jpg"];
            break;
        case 2:
            _images.image = [UIImage imageNamed:@"wall3.jpg"];
            break;
        case 3:
            _images.image = [UIImage imageNamed:@"wall4.jpg"];
            break;
        case 4:
            _images.image = [UIImage imageNamed:@"wall5.jpg"];
            break;
        default:
            break;
    }
    imageCount ++;
    if (imageCount > 4)
        imageCount = 0;
}

也许更好

- (void)updatePhoto {
    NSString *imageName = [NSString stringWithFormat:@"wall%d", imageCount];
    _images.image = [UIImage imageNamed:imageName];
    (imageCount > 4) ? imageCount = 0 : imageCount++;

}

在函数- (void)photoCounter…试着用

代替imageCount++
if(imageCount > 4){ 
    imageCount = 0;
} else { 
    imageCount++;
}

最新更新