1

Итак, я новичок в ClockKit Complications, и я хочу знать, как создавать шаблоны Placeholder для двух осложнений.Как определить данные для двух осложнений в CLKComplicationDataSource

мой код до:

func getPlaceholderTemplateForComplication(complication: CLKComplication, withHandler handler: (CLKComplicationTemplate?) -> Void) { 
    // This method will be called once per supported complication, and the results will be cached 

    let template = CLKComplicationTemplateModularLargeStandardBody() 
    template.headerTextProvider = CLKTimeIntervalTextProvider(startDate: NSDate(), endDate: NSDate()) 
    template.body1TextProvider = CLKSimpleTextProvider(text: "Label 1", shortText: "1") 
    template.body2TextProvider = CLKSimpleTextProvider(text: "Label 2", shortText: 2) 

    handler(template) 

} 

Кто-нибудь может помочь?

ответ

3

Добавить переключатель заявление вернуть конкретное осложнение, основанное на complication.family:

func getPlaceholderTemplateForComplication(complication: CLKComplication, withHandler handler: (CLKComplicationTemplate?) -> Void) { 
    // This method will be called once per supported complication, and the results will be cached 
    var template: CLKComplicationTemplate? = nil 
    switch complication.family { 
    case .ModularSmall: 
     template = nil 
    case .ModularLarge: 
     let modularLargeTemplate = CLKComplicationTemplateModularLargeStandardBody() 
     modularLargeTemplate.headerTextProvider = CLKTimeIntervalTextProvider(startDate: NSDate(), endDate: NSDate()) 
     modularLargeTemplate.body1TextProvider = CLKSimpleTextProvider(text: "Label 1", shortText: "1") 
     modularLargeTemplate.body2TextProvider = CLKSimpleTextProvider(text: "Label 2", shortText: "2") 
     template = modularLargeTemplate 
    case .UtilitarianSmall: 
     template = nil 
    case .UtilitarianLarge: 
     let utilitarianLargeTemplate = CLKComplicationTemplateUtilitarianLargeFlat() 
     utilitarianLargeTemplate.textProvider = CLKSimpleTextProvider(text: "Label 1") 
     template = utilitarianLargeTemplate 
    case .CircularSmall: 
     let circularSmallTemplate = CLKComplicationTemplateCircularSmallRingText() 
     circularSmallTemplate.textProvider = CLKSimpleTextProvider(text: "1") 
     circularSmallTemplate.fillFraction = 0.5 
     circularSmallTemplate.ringStyle = CLKComplicationRingStyle.Closed 
     template = circularSmallTemplate 
    } 
    handler(template) 
}