如何在Modular Large Complication中设置白色文本?

时间:2019-02-20 07:29:02

标签: swift watchkit apple-watch-complication

我无法为 body1TextProvider body2TextProvider 设置白色文本颜色。仅灰色可用。

我的代码:

,

enter image description here

1 个答案:

答案 0 :(得分:1)

在我看来,在tintColor上应用CLKSimpleTextProvider时可能有错误,也有一些未记录的细微差别。

根据CLKSimpleTextProvider的{​​{1}}上的文档:

  

tintColor

     

用于文本的色彩。

     

讨论

     

在支持自定义颜色的钟面上,此颜色将应用于文本提供程序中的文本。

     

参考:https://developer.apple.com/documentation/clockkit/clktextprovider/1627929-tintcolor

现在...选择了多色模块化表盘之后,我们可以观察到tintColor如文档所述并确实应用了指定的headerTextProvider.tintColor
但是...
UIColorbody1TextProvider.tintColor不能按说明使用,因为它不适用于给定的body2TextProvider?.tintColor
向我们表明,记录的行为并未在所有UIColor上统一应用。


但是...

我注意到,如果您将textProvider的{​​{1}}设置为某些值,那么即使尝试设置其他颜色,CLKComplicationTemplatetintColor也会变成白色例如蓝色/黄色/等。

幸运的是,您希望它是白色的,因此只需body1TextProvider(或与主题匹配的body2TextProvider)就可以得到白色的正文。


摘要:

无需执行以下操作(删除/保留,无所谓):

modularLarge.tintColor = .red

相反,请在致电UIColor之前执行此操作:

modularLarge.body1TextProvider.tintColor = self.whiteColor
modularLarge.body2TextProvider?.tintColor = self.whiteColor

解决方案:

handler