检测 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

检测标签何时出现在 SWIFT 的屏幕上

检测 UISearchController 何时出现在 iOS 11 的导航项中

AVX-512CD(冲突检测)与原子变量访问有何不同?

c#在任何地方检测鼠标点击(表格内外)

我用 YOLOv5 做情感识别!

我用YOLOv5做情感识别!