检测 Text.DateStyle.timer 何时达到 00:00 [重复]
Posted
技术标签:
【中文标题】检测 Text.DateStyle.timer 何时达到 00:00 [重复]【英文标题】:Detect when Text.DateStyle.timer reaches 00:00 [duplicate] 【发布时间】:2020-10-09 09:15:58 【问题描述】:所以我是 WidgetKit 和 SwiftUI 的新手,但是是否有事件或方法可以检测 Text() 的倒计时何时达到 00:00?
let components = DateComponents(minute: 15)
let futureDate = Calendar.current.date(byAdding: components, to: Date())!
Text(futureDate, style: .timer)
似乎它要么记录不充分 - 至少对我来说 - 或者仍然没有类似的东西..?
【问题讨论】:
什么倒计时? @JoakimDanielson .timer 倒计时,刚刚编辑。 这是否回答了您的问题***.com/a/63425455/12299030? @Asperi 似乎不适用于 WidgetKit 【参考方案1】:这是不可能的,当它到达0时,它会开始计数。
您必须使用时间线在倒计时结束时刷新该小部件,使用仅显示 0:00:00 的普通文本
一个例子:
var entries: [SingleEntry] = []
// First entry at Date() which is now... with the countdown endDate at 60 seconds in the future
// which you'll use in the Text(date, style)
entries.append(
SingleEntry(
date: Date(),
configuration: configuration,
endDate: Date().addingTimeInterval(60)
)
)
// Second entry which will be scheduled at the Date when you want to stop the timer
// in the TimelineEntry now you can check if endDate is nil and use a normale text
// to say that the countdown is over
entries.append(
SingleEntry(
date: Date().addingTimeInterval(60),
configuration: configuration,
endDate: nil
)
)
let timeline = Timeline(entries: entries, policy: .atEnd)
completion(timeline)
【讨论】:
我已经有一个时间线,时间线间隔 5 分钟一整天。我如何在这些条目之间添加检查。此外,小部件似乎实际上并没有在同一给定日期完全更新 @Sayed 检查已编辑的答案,这就是您开始和停止倒计时所需的全部内容,如果您必须在每 5 分钟之间执行其他操作,只需在 endDate 之前创建更多条目并设置更新相应的小部件以上是关于检测 Text.DateStyle.timer 何时达到 00:00 [重复]的主要内容,如果未能解决你的问题,请参考以下文章