小编Ден*_*нов的帖子

TintedImageProvider 不提供 Graphic Complication 中的色调颜色

我正在尝试为我的 Apple Watch 应用程序(即 Graphic Circular)创建 Graphic Complications,但遇到了一些问题。为了支持多色和有色表盘,我使用以下代码为我的复杂功能提供图像:

    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
    }
Run Code Online (Sandbox Code Playgroud)

现在我的fullColorImage如下: fullColorImage

而相同大小的着色图像渲染为模板图像: tintedImage

在多色 Infograph 表盘中,全彩图像看起来符合预期: 多色

但是,当我将表盘更改为选定的色调时,我的着色图像呈现为纯白色,并且系统色调颜色不会应用于它: 色调颜色

所以我的问题是我缺少什么以及为什么我的tintedImageProvider 不提供任何色调?

此外,我注意到图形圆形类型的系统复杂性似乎有一个略带灰色的背景,这使它们在黑暗的表盘环境中脱颖而出。我已将相同的背景颜色硬编码为全彩图像,但是当面部切换到色调模式时 - 我的并发症的背景变成全黑。关于如何实现这种灰色背景效果有什么想法吗?

swift watchkit clockkit apple-watch-complication

6
推荐指数
1
解决办法
934
查看次数