如何在一个接一个的视图中显示两个图像,我有两个图像名为image1和image2,当用户打开一个想要显示图像的特定页面1然后在2秒后图像1消解并显示图像2然后在2秒后image2 disappers并显示image1并继续。我希望你能理解我的问题。如何做到这一点。 提前谢谢。
答案 0 :(得分:2)
你可以这样做
- (void)viewDidLoad
{
[super viewDidLoad];
[imageViewObj setImage:[UIImage imageNamed:@"Image1.png"]];
NSTimer *ImgChangeTimer = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(changeImage)
userInfo:nil
repeats:YES];
}
-(void)changeImage
{
if (imageViewObj.image==[UIImage imageNamed:@"Image1.png"])
{
[imageViewObj setImage:[UIImage imageNamed:@"Image2.png"]];
}
else
{
[imageViewObj setImage:[UIImage imageNamed:@"Image2.png.png"]];
}
}
答案 1 :(得分:0)
您需要做的是 -
- (void)animateImages:(NSMutableArray *)ppls index:(int)i
{
i += 1;
[imageView1 setAlpha:0.0];
[imageView2 setAlpha:0.0];
[UIView animateWithDuration:0.5
delay:2
options:UIViewAnimationOptionCurveEaseIn
animations:^(void)
{
[imageView1 setAlpha:1.0];
}
completion:^(BOOL finished)
{
if(finished)
{
[UIView animateWithDuration:0.5
delay:0
options:UIViewAnimationOptionCurveLinear
animations:^(void)
{
[imageView1 setAlpha:0.0];
[imageView2 setAlpha:1.0];
}
completion:^(BOOL finished)
{
if(finished)
{
[self animateImages index:i];
}
}];
}
}];
}
答案 2 :(得分:0)
您应该使用UIImageView来执行此类动画。将其属性animationImages
设置为图像数组。
myImageView.animationImages=[NSArray arrayWithObjects:image1,image2,nil];
myImageView.animationDuration=1; //in seconds
//myImageView.animationRepeatCount=0;
animationRepeatCount
默认为0。您可以设置想要重复动画的次数