затухание слайд-шоу в режиме просмотра изображений. xCode 4.2 - PullRequest
4 голосов
/ 15 марта 2012

Я пытаюсь сделать слайд-шоу в просмотре изображений, в котором также используются эффекты постепенного исчезновения.

На данный момент я сделал это:

    - (void)viewDidLoad
{
    [super viewDidLoad];
    animationView = [[UIImageView alloc] initWithFrame:self.view.frame];
    animationView.animationImages = [NSArray arrayWithObjects:   
                                     [UIImage imageNamed:@"photo1.jpg"],
                                     [UIImage imageNamed:@"photo2.jpg"],
                                     [UIImage imageNamed:@"photo3.jpg"], nil];

    animationView.animationDuration = 5;
    animationView.animationRepeatCount = 0;
    [animationView startAnimating];
    [self.view addSubview:animationView];
}

изображения появляются одно за другимдругой, с 5-секундной задержкой, я хочу сделать так, чтобы они появлялись и исчезали каждый раз, когда изображение появляется, какие-либо предложения по этому поводу?

Заранее спасибо за вашу помощь

1 Ответ

6 голосов
/ 17 апреля 2012

Я пытался сделать что-то подобное. Что я сделал, так это установил таймер, который назывался UIView transitionWithView на UIImageView, который увеличивался в массиве моих фотографий слайд-шоу.

- (void)viewDidLoad{
[super viewDidLoad];
self.welcomePhotos = [NSArray arrayWithObjects:@"welcome_1.png",@"welcome_2.png", @"welcome_3.png", nil];
self.imageView1.image = [UIImage imageNamed:[self.welcomePhotos objectAtIndex:0]];
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(transitionPhotos) userInfo:nil repeats:YES];
}


-(void)transitionPhotos{

if (photoCount < [self.welcomePhotos count] - 1){
    photoCount ++;
}else{
    photoCount = 0;
}
[UIView transitionWithView:self.imageView1
                  duration:2.0
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{ self.imageView1.image = [UIImage imageNamed:[self.welcomePhotos objectAtIndex:photoCount]]; }
                completion:NULL];    
}
...