如何解决如何在 CLKRelativeDateTextProvider 旁边显示文本
我正在构建 watchOS 复杂功能,我想要一个计时器来倒计时我使用以下内容所做的事情:
func createUtilitarianLargeTemplate(prayer: Prayer?) -> CLKComplicationTemplate {
let myComplicationTemplate = CLKComplicationTemplateUtilitarianLargeFlat()
let dateProvider = CLKRelativeDateTextProvider()
if let prayer = prayer {
dateProvider.date = prayer.prayerTime.prayerDate
dateProvider.calendarUnits = [.hour,.minute]
dateProvider.relativeDateStyle = .timer
}
myComplicationTemplate.textProvider = dateProvider
return myComplicationTemplate
}
但我想在 UtilitarianLarge
复杂功能系列中的计时器旁边显示一些文本。这怎么可能,因为我无法在 dateProvider
中设置文本。
我想要实现的是以下字符串:
GBT * 15:24:12
所以我想在计时器前面有 "GBT * "。这怎么可能?不知何故,这一定是可能的,因为我在 Appstore 上看到了实现这一点的其他复杂情况
解决方法
直到 watchOS 6 才将 init(format:_:) 添加到 CLKTextProvider。
let myComplicationTemplate = CLKComplicationTemplateUtilitarianLargeFlat()
let dateProvider = CLKRelativeDateTextProvider()
dateProvider.date = Date()
dateProvider.calendarUnits = [.hour,.minute]
dateProvider.relativeDateStyle = .naturalAbbreviated
let finalText = CLKTextProvider(format: "GBT * %@",dateProvider)
myComplicationTemplate.textProvider = finalText
对于 watchOS 5 及更早版本,this 是唯一的好方法...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。