2015-10-30 26 views
1

因此,我對ClockKit Complications有點新了,我想知道如何爲兩個併發症製作佔位符模板。如何定義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

添加一個switch語句返回特定的併發症的基礎上,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) 
}