这是我的疑问
如何直接从nsmutalearray运行gif图像,我通过将其分配给Wkinterfaceimage来动态存储图像
目前我正在处理分配给wkinterfaceimage的GIf图像。我在运行时通过转换gif图像将一组图像存储在Mutablearray中。如何将该数组分配给wkinterfaceimage以显示运行gif图像。我发现swift中有几个教程试图在OBJ C中实现,Plz让我知道了你在目标C中的想法和代码
这是我的代码
[imageView setImage:[frames objectAtIndex:0]];
[imageView startAnimatingWithImagesInRange:NSMakeRange(0,frames.count) duration:1 repeatCount:0];
使用上面的代码在类似器上显示空白屏幕,如果注释第二行显示0索引图像
帧率结果
2015-04-08 10:21:53.206 WatchkitDemo WatchKit Extension[852:24553] {
DelayTime = "0.1";
UnclampedDelayTime = 0; }
帧阵列的结果
2015-04-08 10:21:58.807 WatchkitDemo WatchKit Extension[852:24553] (
"<UIImage: 0x7fe358d2d320>",
"<UIImage: 0x7fe358f05d60>",
"<UIImage: 0x7fe358f08230>",
"<UIImage: 0x7fe358d2fd50>"
)
有一种方法可以将从服务器接收的gif图像转换为数组。我认为Mayoff的UIImage类别可以帮助你。我可以给你一个你能做什么的想法:
1) 使用接收gif类别中定义的方法之一:
+[UIImage animatedImageWithAnimatedGIFData:(NSData *)data]
+[UIImage animatedImageWithAnimatedGIFURL:(NSURL *)url]
2) 进入实现文件UIImage+animatedGIF.m。在第89行,方法animatedImageWithAnimatedGIFImageSource
已经实现。已经在那里调用了方法createImagesAndDelays
来创建图像阵列。它将分离的图像存储在声明为CGImageRef images[count]
的变量中。
您可以将此变量设置为实例变量,也可以使static方法返回一个分割的gif图像数组。
3) 将这些图像转换为Wkinterfaceimage
接受的格式。
希望有帮助:)