【发布时间】:2017-12-18 08:01:10
【问题描述】:
我为带有时间旅行的表盘编写了一个复杂功能。但是,我希望 watchOS 能够“刷新”时间线(比如每小时),以便它会删除当前时间线,然后再次调用 getTimelineEntries 以获得新的时间线。
有可能吗?谢谢。
【问题讨论】:
标签: timeline watchos apple-watch-complication
我为带有时间旅行的表盘编写了一个复杂功能。但是,我希望 watchOS 能够“刷新”时间线(比如每小时),以便它会删除当前时间线,然后再次调用 getTimelineEntries 以获得新的时间线。
有可能吗?谢谢。
【问题讨论】:
标签: timeline watchos apple-watch-complication
如果要在当前钟面的不同插槽中安装多个应用程序的复杂功能,最好调用“reloadTimelineForComplication:”来处理所有活动的复杂功能。
for (CLKComplication* complication in CLKComplicationServer.sharedInstance.activeComplications)
{
//NSLog(@"Reloading Timeline for Complication: %@", complication);
[CLKComplicationServer.sharedInstance reloadTimelineForComplication:complication];
}
来自文档:CLKComplicationServer.activeComplications:此属性包含一个 CLKComplication 对象数组,每个对象代表当前显示在钟面上的复杂功能的一个版本。此数组通常没有条目或只有一个条目,但如果您的复杂功能安装在钟面上的多个插槽中,它可能有多个条目。
【讨论】:
当你想刷新并发症数据时,你可以像这样触发刷新,
[[CLKComplicationServer sharedInstance] reloadTimelineForComplication:[[[CLKComplicationServer sharedInstance] activeComplications] firstObject]];
参考可以查看here
【讨论】: