SwiftUI - 实时活动中的进度条

Ale*_*ets 2 widget swift swiftui widgetliveactivity

我正在尝试在锁定屏幕或数字岛中的实时活动中添加一个简单的视觉进度条,但我找不到触发进度计算更新的方法。似乎 Timer 和 @State 在实时活动中工作。这很奇怪,因为本机和公共应用程序都在活动中使用进度条,即使应用程序暂停并且看起来超级流畅,更新频率也比每秒更新一次。

苹果本机计时器应用程序在暂停时仍然可以流畅地运行

在此输入图像描述

我最喜欢的应用程序之一 - Structured 在暂停时也能做到这一点在此输入图像描述

我什至已经尝试将 Lottie 动画添加到活动中:D

我错过了什么吗?

Ale*_*ets 5

显然,您不允许在实时活动中制作自定义进度条,或者至少我没有找到这样做的方法。iOS 限制了您触发计时器、循环和任何逻辑方法来更新进度条的能力。我发现这样做的唯一方法是使用本机进度条

ProgressView(
    timerInterval: countFrom...endDate,
    countsDown: false,
    label: { EmptyView() },
    currentValueLabel: { EmptyView() }
)
.progressViewStyle(.circular)
Run Code Online (Sandbox Code Playgroud)