在uiimageview中制作动画图像

use*_*868 10 animation objective-c uiimageview ios

如何为来自Web服务的图像设置动画.我得到了代码来动画来自bundle的图像.如何从url加载图像数组

该代码附在下面

UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
animatedImageView.animationImages = [NSArray arrayWithObjects:    
                               [UIImage imageNamed:@"image1.gif"],
                               [UIImage imageNamed:@"image2.gif"],
                               [UIImage imageNamed:@"image3.gif"],
                               [UIImage imageNamed:@"image4.gif"], nil];
animatedImageView.animationDuration = 1.0f;
animatedImageView.animationRepeatCount = 0;
[animatedImageView startAnimating];
[self.view addSubview: animatedImageView];
Run Code Online (Sandbox Code Playgroud)

Vin*_*odh 15

从webservice下载图像;

NSData *imageData = [NSData dataWithContentsOfURL:"*Url from web service*"];
UIImage *imageOne = [UIImage imageWithData:imageData];
Run Code Online (Sandbox Code Playgroud)

可能从Web服务下载所有图像并创建一个类似的数组

NSArray *imagesArray = [NSArray arrayWithObjects:imageOne...........,nil];
Run Code Online (Sandbox Code Playgroud)

并使用一点修改

UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
animatedImageView.animationImages = imagesArray;
animatedImageView.animationDuration = 1.0f;
animatedImageView.animationRepeatCount = 0;
[animatedImageView startAnimating];
[self.view addSubview: animatedImageView];
Run Code Online (Sandbox Code Playgroud)

  • 只是旁注:确保未在主线程上执行下载. (3认同)
  • 仅供参考,但如果使用此方法图像太大,您的代码将使设备崩溃。将所有解码的图像数据保存在内存中并不是一个好主意,请进行更多研究以找出解决此问题的方法。 (2认同)