Осложнение watchOS - Как заставить watchOS обновить временную шкалу
Я написал усложнение для Watch Face с Time Travel. Тем не менее, я хотел, чтобы watchOS "обновляла" временную линию (как каждый час), чтобы она удаляла текущую временную линию, а затем снова вызывала getTimelineEntries для получения новой временной линии.
Является ли это возможным? Благодарю.
1 ответ
Насколько возможно, чтобы установить более одного усложнения вашего приложения в разные слоты текущего циферблата, было бы лучше вызвать 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]];
Для справки вы можете проверить здесь