使用渲染模式 "Template" (CLKComplicationTemplateGraphicCircularClosedGaugeImage) 时,TintColor 不适用于我的并发症
TintColor does not apply to my Complication when using rendering Mode "Template" (CLKComplicationTemplateGraphicCircularClosedGaugeImage)
我目前正在尝试实施
CLKComplicationTemplateGraphicCircularClosedGaugeImage
但出于某种原因,我的图标总是变成蓝色。
当我更改 WatchFace 的 tintColor 时,一切似乎都以正确的方式着色。但是,当我在 WatchFace 上禁用着色时,出于某种原因,我的图像会变成蓝色。
我在资产目录中启用了渲染模式:alwaystemplate,因为我的图像在原始版本中只是黑色,而我在应用程序的其他部分对其进行了着色。
let gaugeProvider = CLKSimpleGaugeProvider(style: .fill, gaugeColor: color, fillFraction: progress)
let template = CLKComplicationTemplateGraphicCircularClosedGaugeImage(gaugeProvider: gaugeProvider, imageProvider: CLKFullColorImageProvider(fullColorImage: image))
我尝试在模板上应用 tintColor,我还尝试在将图像传递给 ImageProvider 之前直接将 tintColor 应用于图像。这两个想法都没有产生预期的输出。
let gaugeProvider = CLKSimpleGaugeProvider(style: .fill, gaugeColor: color, fillFraction: progress)
let imageProvider = CLKFullColorImageProvider(fullColorImage: image)
let template = CLKComplicationTemplateGraphicCircularClosedGaugeImage(gaugeProvider: gaugeProvider, imageProvider: imageProvider)
template.tintColor = .white // this has no effect
如何在使用 alwaysTemplate 作为渲染模式时设置默认色调颜色?
我自己找到了一个解决方案。
我现在将图像着色为白色,并将其重新渲染为原始图像。
let imageProvider = CLKFullColorImageProvider(fullColorImage: image.withTintColor(.white, renderingMode: .alwaysTemplate).withRenderingMode(.alwaysOriginal))
我目前正在尝试实施 CLKComplicationTemplateGraphicCircularClosedGaugeImage 但出于某种原因,我的图标总是变成蓝色。
当我更改 WatchFace 的 tintColor 时,一切似乎都以正确的方式着色。但是,当我在 WatchFace 上禁用着色时,出于某种原因,我的图像会变成蓝色。
我在资产目录中启用了渲染模式:alwaystemplate,因为我的图像在原始版本中只是黑色,而我在应用程序的其他部分对其进行了着色。
let gaugeProvider = CLKSimpleGaugeProvider(style: .fill, gaugeColor: color, fillFraction: progress)
let template = CLKComplicationTemplateGraphicCircularClosedGaugeImage(gaugeProvider: gaugeProvider, imageProvider: CLKFullColorImageProvider(fullColorImage: image))
我尝试在模板上应用 tintColor,我还尝试在将图像传递给 ImageProvider 之前直接将 tintColor 应用于图像。这两个想法都没有产生预期的输出。
let gaugeProvider = CLKSimpleGaugeProvider(style: .fill, gaugeColor: color, fillFraction: progress)
let imageProvider = CLKFullColorImageProvider(fullColorImage: image)
let template = CLKComplicationTemplateGraphicCircularClosedGaugeImage(gaugeProvider: gaugeProvider, imageProvider: imageProvider)
template.tintColor = .white // this has no effect
如何在使用 alwaysTemplate 作为渲染模式时设置默认色调颜色?
我自己找到了一个解决方案。 我现在将图像着色为白色,并将其重新渲染为原始图像。
let imageProvider = CLKFullColorImageProvider(fullColorImage: image.withTintColor(.white, renderingMode: .alwaysTemplate).withRenderingMode(.alwaysOriginal))