我有一个工作时钟小部件。为了实现这一点,我创建了一个每天更新一次的时间线。
func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> Void) {
let midnight = Calendar.current.startOfDay(for: Date())
let nextMidnight = Calendar.current.date(byAdding: .day, value: 1, to: midnight)!
let entries = [SimpleEntry(date: midnight)]
let timeline = Timeline(entries: entries, policy: .after(nextMidnight))
completion(timeline)
}
小部件显示时钟如下:
var body: some View {
VStack {
Text(entry.date, style: .timer)
}
}
我选择这种方法而不是每分钟创建一个条目的时间线,因为我在文档中读到,系统不承诺根据请求更新小部件,而是根据预算。
标签显示如下内容:
十四点三十分二十五秒
我怎样才能表现出来
下午2:30改为
1条答案
按热度按时间pkwftd7m1#
您可以使用DateFormatter或直接使用Text.init(_:formatter:)。您还可以使用Text.init(_:format:)