2014-09-01 98 views
-3

我想要自动一个一个地滑动图像我正在从图像路径从服务器获取图像,但它始终只显示一个图像我应该怎么做?图像不动画

for (SliderDC *slider in imagesArray) { 
     sliderImageName = slider.sliderImagePath; 
      NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",kWSURL, sliderImageName]]]; 
      UIImage *imgOne = [UIImage imageWithData:imageData]; 
    ////  likely download all images from web service and create an array like 
    // 
      NSArray *imagesArrays = [NSArray arrayWithObjects:imgOne, nil]; 

////  and use with little modification 
    // 
     UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
     animatedImageView.animationImages = imagesArrays; 
     animatedImageView.animationDuration = 0.5f; 
     animatedImageView.animationRepeatCount = 0; 

     [self.view addSubview: animatedImageView]; 
     [animatedImageView startAnimating]; 
    } 
+0

我不明白。你只有一个图像(在'imagesArays'中)。那应该是怎样的动画?你读过如何使用它? – Larme 2014-09-01 08:19:52

回答

2

因为您的数组全部只包含1个图像。你的代码应该如下所示。

NSMutableArray *imagesArrays= [[NSMutableArray alloc]init]; 
for (SliderDC *slider in imagesArray) { 
    sliderImageName = slider.sliderImagePath; 
     NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",kWSURL, sliderImageName]]]; 
     if(imageData) 
      UIImage *imgOne = [UIImage imageWithData:imageData]; 
      if(imgOne) 
       [imagesArrays addObject:imgOne]; 
} 

// after adding all image in array then add animation. 
UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
animatedImageView.animationImages = imagesArrays; 
animatedImageView.animationDuration = 0.5f; 
animatedImageView.animationRepeatCount = 0; 

[self.view addSubview: animatedImageView]; 
[animatedImageView startAnimating]; 
+0

我不是给相同的数组plz检查它是不同的名字imagesArrays不是图像数组 – NullData 2014-09-01 08:17:43

+0

为什么要投票? – NullData 2014-09-01 08:18:01

+0

我没有downvote。当你想添加动画时,你必须给出你想要的所有图像的数组。现在'NSArray * imagesArrays = [NSArray arrayWithObjects:imgOne,nil];'此代码只包含1个图像,并且您开始动画。你必须在'animatedImageView.animationImages = imagesArrays;'这个代码中传递图像数组。 – 2014-09-01 08:19:32