以编程方式创建带帧的 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)
我正在生成一堆帧,我想在我的 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)