watchOS CLK TimeIntervalGaugeProvider 사용 시도

CLKTimeIntervalGaugeProvider


Document
Documen(DeepL 번역)
추적 시간 간격의 게이지.
Complication용 부품입니다.
GaugeProvider가 있는 Complication에서 사용할 수 있습니다.
현재 위치는 지정된 시작 시간에서 종료 시간으로 이동합니다.
계산을 업데이트할 필요가 없습니다.
지정하면 마음대로 움직여.

Example


CLKTimeIntervalGaugeProvider.ring.
게이지 안의 원형 이동.
처음

중도

곧 끝난다

소스 코드


현재 시간은 +15초 후에 시작됩니다.시작 60초 후에 끝납니다.
func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
    switch complication.family {
    case .graphicCorner:
        let lowTempText = CLKSimpleTextProvider(text: "S")
        lowTempText.tintColor = UIColor.cyan
        let highTempText = CLKSimpleTextProvider(text: "E")
        highTempText.tintColor = UIColor.red
        let currentTempText = CLKSimpleTextProvider(text: "-")

        let timeColors = [UIColor.cyan, UIColor.yellow, UIColor.red]
        let timeColorLocations = [0.0, 0.6, 1.0]
        let timeGasugeProvider = CLKTimeIntervalGaugeProvider(style: .ring,
                                                                gaugeColors: timeColors,
                                                                gaugeColorLocations: timeColorLocations as [NSNumber],
                                                                start: Date() + 15,
                                                                end: Date() + 75)

        let cornerTemplate = CLKComplicationTemplateGraphicCornerGaugeText()
        cornerTemplate.gaugeProvider = timeGasugeProvider
        cornerTemplate.leadingTextProvider = lowTempText
        cornerTemplate.trailingTextProvider = highTempText
        cornerTemplate.outerTextProvider = currentTempText

        let entry = CLKComplicationTimelineEntry(date: Date(), complicationTemplate: cornerTemplate)

        handler(entry)
    default:
        handler(nil)
    }
}

memo


계속 사용하려면 Complication을 업데이트하고 응용 프로그램에서 시간을 재지정해야 합니다.

좋은 웹페이지 즐겨찾기