我正在尝试在使用淡入淡出效果的 ImageView 中制作幻灯片。
到目前为止,我这样做了:
- (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 秒,我现在想要的是让它们在每次图像出现时淡入和淡出,对此有什么建议吗?
在此先感谢您的帮助
最佳答案
我试图做类似的事情。我所做的是设置一个计时器,该计时器在 UIView
上调用 transitionWithView
UIImageView
,该 ojit_code 在我的幻灯片照片数组中递增。
- (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];
}
关于xcode - 在 ImageView 中淡入淡出幻灯片。代码 4.2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9712795/