我如何使用SwiftUI框架来制作一系列图像的动画(比如从Frame-1.png到Frame-6)?
我尝试创建一个“图像”数组。然后我分配了UIImage.animatedImage(with:图像,持续时间:1.0)方法调用一个名为“animatedImage”的变量,最后我尝试了Image(uiImage:animatedImage)在“ContentView.swift”的“body”中
var images: [UIImage]! = [UIImage(named: "Sequence/frame-1")!,
UIImage(named: "Sequence/frame-2")!,
UIImage(named: "Sequence/frame-3")!,
UIImage(named: "Sequence/frame-4")!,
UIImage(named: "Sequence/frame-5")!,
UIImage(named: "Sequence/frame-6")!
]
let animatedImage : UIImage! = UIImage.animatedImage(with: images, duration: 1.0)
//////Then in the ContentView.swift I've tried this code:
struct ContentView : View {
var body: some View {
Image(uiImage: animatedImage)
}
}
字符串
当我运行程序时,它只显示第一帧,但我希望帧的动画
4条答案
按热度按时间yebdmbv41#
公认的答案工作得很好,与不幸的问题提到的bhagyash ingale这使得它非常难以使用。如果
Image
的特定方法可以通过协议或其他方式重用,这将非常有用。我有一个非常贫穷的,也许是巨大的大炮为苍蝇解决这个问题,也许它会更容易在时间,但现在...个字符
我不喜欢这样,但它可以完成工作,并依赖于
Image
。aiazj4mn2#
未合并的版本
字符串
你可以用它
型
wmtdaxz33#
我从image array中找到了一个纯SwftUI动画:它使用一个可设置动画的修改器来处理要显示的图像,而不是视图(这里是一个带有图像的按钮)。当你点击一个按钮时,它的图像会显示动画。如果您再次点击图像停止动画并显示默认按钮图像:
字符串
wlwcrazw4#
我有三个图像资产,我想动画顺序和重复命名:thinking1、thinking2和thinking3。根据nightwill的回答,这在iOS14.4中有效
字符串