我正在尝试为我的 Apple Watch 应用程序(即 Graphic Circular)创建图形并发症,但遇到了一些问题。为了同时支持多色和有色表盘,我使用以下代码为我的复杂功能提供图像:
let graphicCircularTemplate = CLKComplicationTemplateGraphicCircularImage()
if let tintedImage = UIImage(named: "GraphicCircular"), let fullColorImage = UIImage(named: "GraphicCircularOrange") {
let tintedImageProvider = CLKImageProvider(onePieceImage: tintedImage)
var imageProvider = CLKFullColorImageProvider()
if #available(watchOSApplicationExtension 6.0, *) {
imageProvider = CLKFullColorImageProvider(fullColorImage: fullColorImage, tintedImageProvider: tintedImageProvider)
} else {
imageProvider = CLKFullColorImageProvider(fullColorImage: fullColorImage)
}
graphicCircularTemplate.imageProvider = imageProvider
}
现在我fullColorImage
在关注:
fullColorImage
而相同大小的着色图像被渲染为模板图像: tintedImage
在多色 Infograph 表盘中,全彩色图像看起来如预期: 多色
但是当我将表盘更改为选定的色调时,我的有色图像呈现为纯白色,并且系统色调颜色不会应用于它: 色调颜色
所以我的问题是我错过了什么,为什么我的 tintedImageProvider 不提供任何色调?
此外,我注意到 Graphic Circular 类型的系统并发症似乎有一个略带灰色的背景,这使它们在黑暗的表盘环境中与众不同。我已将相同的背景颜色硬编码为全彩色图像,但是当面部切换到色调模式时 - 我的并发症的背景完全变黑了。关于如何实现这种灰色背景效果的任何想法?