适用于Apple Watch并发症的Xcode tintedImageProvider

时间:2020-06-17 07:29:22

标签: swift xcode apple-watch apple-watch-complication

我遇到了一个问题,多年来我一直在尝试自己解决运气不好的问题。 我在这里{@ 3}使用Apple文档和视频 我用代码创建了一个图形,该图形从适合Apple Watch正面正方形的数据生成png。在ComplicationController.swift文件中,我有以下代码

graphicRectangularImage = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)
...
rectangularTemplate.imageProvider = CLKFullColorImageProvider(fullColorImage: graphicRectangularImage)

并将并发症的保密性设置为handler(.hideOnLockScreen)

这对于创建全彩色图像非常有用。并在锁定时隐藏。

Exploring Tinted Graphic Complications

Mulitcolour locked and unlocked

因此,当用户使用多色面孔时就可以了。 但是,如果我添加这样的twopeiceimage

graphicRectangularImage = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up) 
twoPieceImageBackground = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up) 
twoPieceImageForeground = UIImage(cgImage: context.makeImage()!, scale: 2.0, orientation: .up)  

let tintedImageProvider = CLKImageProvider(onePieceImage: graphicRectangularImage, twoPieceImageBackground: twoPieceImageBackground, twoPieceImageForeground: twoPieceImageForeground)  

rectangularTemplate.imageProvider = CLKFullColorImageProvider(fullColorImage: graphicRectangularImage, tintedImageProvider: tintedImageProvider)

前景图像只是条形文字和“过去7天:”字样,因为这是我想用黄色表示的仅有的两位。 背景是图像的其余部分,因此可以是灰色的。 它在多色屏幕上效果很好,但是使用有色图像提供程序时,锁定后图像不会隐藏。

Monochrome locked and unlocked

锁定时图像不会隐藏。但是,如果您改回多色,它的行为确实正确,这就是奇怪的地方。

锁定的图像似乎来自于我在“复杂性”部分下的“复杂性”部分下放入“资产”文件夹的图像文件,但是我没有空间为两瓣图像添加锁定的图像,因此它只是使用已经存在的内容(应用名称除外),该名称会在锁定后发生变化。

Tinted image provider locked and unlocked

请帮助我指出正确的方向,以便在锁定Apple Watch时隐藏有色的前景图像。

0 个答案:

没有答案