ios - 在 iOS 14 小部件中实现图像过渡动画
问题描述
我对使用 iOS 14 Widget 扩展实现基本的图像过渡动画很感兴趣。
我的目标是:
Image
每 0.10 秒动画变化一次- 无限循环,超过 6
Image
秒
问题:
Image
s 在我的小部件中既不动画也不循环
更多细节在这里:
我有一堂课叫AnimatingImage
struct AnimatingImage: View {
let images: [Image]
@ObservedObject private var counter = Counter(interval: 0.10)
var body: some View {
images[counter.value % images.count]
}
}
private class Counter: ObservableObject {
private var timer: Timer?
@Published var value: Int = 0
init(interval: Double) {
timer = Timer.scheduledTimer(withTimeInterval: interval, repeats: true) { _ in self.value += 1 }
print ("has timer")
}
}
它在我的 Widget 主目录中使用View
struct SleepCheckerWidgetView : View {
let entry: LastSleepEntry
var body: some View {
let images = [Image("moon_1"),
Image("moon_5"),
Image("moon_10"),
Image("moon_15"),
Image("moon_20")
]
VStack(alignment: .leading, spacing: 4) {
Text("4:44")
.font(.system(.title2))
.foregroundColor(.white)
.bold()
AnimatingImage(images: images)
.scaledToFit()
}.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .center)
.padding()
}
static func format(date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = "MM-dd-yyyy HH:mm"
return formatter.string(from: date)
}
}
解决方案
推荐阅读
- python - 如何使用数据透视表或任何其他方法重新索引数据框 python
- rest - 使用 URL 映射的 Grails Restful Web 服务
- json - 图表中的 React + json 输出
- pandas - 我错过了什么?sklearn 适合模块
- angular - Angular- 日期选择器禁用验证
- cordova - Cordova 插件视频编辑器:Android 操作系统不支持 AVC 视频配置文件,实际 profile_idc:100
- amazon-web-services - Solr 5.1 主从配置是否可以在 AWS 中使用?
- c# - OpenTl c# IDialogs 没有扩展 CS1061
- java - 如何禁用 Android 本机代码中的日志?
- amazon-web-services - 角色的 AWS CDK Bootstrap 自定义信任关系策略