Ios 使文本(计时器)适合CLKComplicationTemplategrphicCircularPropertingAgueSimpleText下

Ios 使文本(计时器)适合CLKComplicationTemplategrphicCircularPropertingAgueSimpleText下,ios,swift,apple-watch,apple-watch-complication,clockkit,Ios,Swift,Apple Watch,Apple Watch Complication,Clockkit,我正在为我的应用开发手表。应用程序的主要功能是对一些任务进行时间跟踪。因此,对于.graphicscircular模块,我选择使用图形圆形开口量规模板CLKComplicationTemplateGraphics CirculationArpengaugeSimpleText。然而,结果如下所示。倒计时不合适 下面是我正在使用的代码:(我还没有连接到我的模型。只是在UI中使用一些占位符来尝试首先使它看起来正确。) 我还尝试了相对日期文本提供程序的不同样式选项,但它们都不适合 我怎样才能使倒计时

我正在为我的应用开发手表。应用程序的主要功能是对一些任务进行时间跟踪。因此,对于
.graphicscircular
模块,我选择使用图形圆形开口量规模板<代码>CLKComplicationTemplateGraphics CirculationArpengaugeSimpleText。然而,结果如下所示。倒计时不合适

下面是我正在使用的代码:(我还没有连接到我的模型。只是在UI中使用一些占位符来尝试首先使它看起来正确。)

我还尝试了相对日期文本提供程序的不同样式选项,但它们都不适合

我怎样才能使倒计时合适?(iOS定时器应用程序在一个圆圈内有倒计时功能,它很适合。它怎么能做到这一点?)

如果我不能使文本变小以适应,那么我如何从相对日期文本提供程序重构文本,使其仅显示计数数字?这意味着它使用11而不是0:11,因此它可以适合。我知道
.offsetShort
提供
11分钟
。。。。不幸的是,这并不适合。我只能在屏幕上看到
11…


任何暗示都值得赞赏。非常感谢你的帮助。事实上,我昨天也在考虑同样的问题,但我还没有找到解决办法。我觉得目前不可能以明确的方式解决这个问题。正如我所看到的,许多提供者都是通用的,而实际的并发症模板和观察面会影响结果。例如,您可以在某些情况下为
CLKRelativeDateTextProvider
文本上色(着色),但在其他情况下不会产生效果。这个文本提供程序在其他复杂模板中对我来说效果很好,但是这里的空间对于12pt/13pt字体来说可能太小(取决于手表的大小)不管我们做什么。也许在WatchOS7中这是可能的,但我还没有放弃一个解决方案,所以如果我发现了什么,我会更新你。关于内置计时器的另一个注意事项是:它确实有效,但我相信某些内置的东西你无法以干净的方式复制。修正我,但我认为你也不能复制系统计时器的仪表,对吗?我指的是它的虚线尺寸。除非提供您自己的图像和时间线条目,否则不能这样做。@PeterPorfy感谢您的评论。当我得到更好的解决方案时,我也会更新这个。所以我只是在玩弄它,并没有找到一种方法来解决它与
CLKRelativeDateTextProvider
为GraphicCircular。事实上,还有更为紧凑的空间用于其他复杂类型:例如,实用小型。我决定暂时解决这个限制,稍后用WatchOS7重试。根据并发症类型,我将向相关提供者提供单个
CLKComplicationTimelineEntry
(例如,对于拐角处,它运行良好),并为其他人提供一系列条目。事实上,在我现在需要倒计时之前,我已经做了一些(这只是一个测量)。
let relativeProvider = CLKRelativeDateTextProvider(date: Date(), style: .timer, units: [.minute])
let template = CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText()
template.centerTextProvider = relativeProvider
template.bottomTextProvider = CLKSimpleTextProvider(text: "Q", shortText: "Q")
let endDate = Calendar.current.date(byAdding: .minute, value: 1, to: Date()) ?? Date()
let gaugeProvider = CLKTimeIntervalGaugeProvider(style: .fill, gaugeColors: [UIColor.green, UIColor.yellow, UIColor.orange, UIColor.red], gaugeColorLocations: nil, start: dateUsed, end: endDate)
template.gaugeProvider = gaugeProvider
return template