2016-03-22 13 views
0

Ich mache eine Komplikation, und möchten "UTC" Zeitzone Zeit im 24-Stunden-Format in der Komplikation angezeigt.Anzeigen Komplikation aktuelle Zeit im 24-Stunden-Format für bestimmte Zeitzone

CLKTimeTextProvider wird funktionieren, aber es scheint nur das Standardformat zu verwenden, das der Benutzer bevorzugt, während ich es zwingen muss, immer 24-Stunden-Zeit anzuzeigen.

Irgendwelche Gedanken? Gibt es eine Eigenschaft, die ich nicht sehe?

switch family {    
case .UtilitarianLarge: 
     let template = CLKComplicationTemplateUtilitarianLargeFlat() 
     template.imageProvider = nil 
     template.textProvider = CLKTimeTextProvider(date: NSDate(), timeZone: NSTimeZone(name: "UTC")) 
     return CLKComplicationTimelineEntry(date: date, complicationTemplate: template) 

Antwort

0

Es gibt keine CLKTimeTextProvider Eigenschaft, die zur Zeit lassen würden Sie die Benutzer-Region und lokalen Einstellungen außer Kraft setzen.

Neben submitting a feature request, könnten Sie das Problem umgehen, indem Sie das Datum auf eine 24-Stunden-Format Zeit konvertieren, dann die lokalisierten String zeigen ein CLKSimpleTextProvider

let dateFormatter = NSDateFormatter() 
let localeFormatString = NSDateFormatter.dateFormatFromTemplate("HH:mm", options: 0, locale: NSLocale.currentLocale()) 
dateFormatter.dateFormat = localeFormatString 
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC") 
template.textProvider = CLKSimpleTextProvider(text: dateFormatter.stringFromDate(NSDate())) 

Updates mit:

Basierend auf Ihre Kommentare, können Sie erreichen, was Sie wollen, indem Sie eine CLKRelativeDateStyleTimer, die von 00:00 Mitternacht gezählt. Da es Stunden und Minuten zählt, würde es im 24-Stunden-Format zählen. Sie müssten Ihre Komplikation um Mitternacht aktualisieren, um sie für den nächsten Tag auf 00:00 Uhr zurückzusetzen.

+0

Dies ist die Methode, mit der ich gearbeitet habe, aber es erfordert, dass ich für jede angezeigte Minute einen eigenen Zeitachsenwert verwende ... das bedeutet, für jede Minute eine Zeitleiste zu erstellen und sie in einem Intervall zu aktualisieren Reisen funktionieren nicht sehr gut. Irgendwelche Tipps? – Charlie