为Apple Watch复杂功能设置tintColor

时间:2016-04-25 21:18:44

标签: swift watch-os apple-watch-complication clockkit

我正在尝试为Modular Large并发症设置标题文本颜色。

我已经定制了表盘以使用Multicolor。

但是,当我构建并运行此代码时,标题文本颜色仍然是白色(这是默认值)。

为什么不更新颜色?

private func templateForClassModularLarge(className: Schedule) -> CLKComplicationTemplateModularLargeStandardBody {
    let template = CLKComplicationTemplateModularLargeStandardBody()
    let headerTextProvider = CLKSimpleTextProvider(text: "My Schedule", shortText: "Schedule")
    headerTextProvider.tintColor = UIColor(red: 101, green: 153, blue: 255, alpha: 1)
    template.headerTextProvider = headerTextProvider

    template.body1TextProvider = CLKTimeIntervalTextProvider(startDate: className.start, endDate: className.end)
    template.body2TextProvider = CLKSimpleTextProvider(text: className.description, shortText: className.shortDescription)

    return template
}

1 个答案:

答案 0 :(得分:4)

UIColor参数类型为CGFloat,指定为0.0到1.0之间的值。

因为您的RGB参数大于1,所以颜色最终为白色,即:

UIColor(red: 1, green: 1, blue: 1, alpha: 1)

要解决此问题,只需将tintColor更改为

即可
headerTextProvider.tintColor = UIColor(red: 101/255, green: 153/255, blue: 255/255, alpha: 1)