如何一个接一个地在视图中显示两个图像,反之亦然?

时间:2012-01-03 05:00:48

标签: iphone

如何在一个接一个的视图中显示两个图像,我有两个图像名为image1和image2,当用户打开一个想要显示图像的特定页面1然后在2秒后图像1消解并显示图像2然后在2秒后image2 disappers并显示image1并继续。我希望你能理解我的问题。如何做到这一点。 提前谢谢。

3 个答案:

答案 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。您可以设置想要重复动画的次数