以编程方式创建带帧的 UIImage 动画

Programmatically create UIImage animation with frames

我正在生成一堆帧,我想在我的 Apple Watch 上制作动画。

根据我在互联网上找到的信息,每个人似乎都在使用 imageWithName 来制作 UIImage 的动画,例如下面的 SO post:Is it possible to animate an UIImage?

第一个答案建议使用以下代码 UIImageView

NSArray *animationFrames = [NSArray arrayWithObjects:
  [UIImage imageWithName:@"image1.png"],
  [UIImage imageWithName:@"image2.png"], 
  nil];

UIImageView *animatedImageView = [[UIImageView alloc] init];
animatedImageView.animationImages = animationsFrame;
[animatedImageView startAnimating];

然而,当我尝试将它添加到我的 Apple Watch 代码时,`UIImageView 似乎不存在于 XCode 7 和 Swift 中? 为什么?


我也试试下面我自己写的代码:

...

var frames = [UIImage]()
var animation = UIImage()

...

//1. generate frame
//2. add to array "frames"

animation.images = frames //apply frame array to main animatable UIImage.

最后一行给我一个错误:

Cannot assign to property: 'images'is a get-only property

你应该使用

    UIImage.animatedImageWithImages(images: [UIImage], duration: NSTimeInterval)

创建动画UIImage

var animation = UIImage.animatedImageWithImages(images: frames, duration: NSTimeInterval)