TwoPieceImage并发症

时间:2016-01-28 21:05:58

标签: objective-c xcode watchkit watch-os-2 apple-watch-complication

我想显示一个多色复杂的图标,类似于默认的计时器应用程序图标:

enter image description here

这是我用多色显示图标的代码:

CLKComplicationTemplateModularSmallStackImage* template=[[CLKComplicationTemplateModularSmallStackImage alloc]init];

template.line1ImageProvider=[CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"Complication/Modular"] 
    twoPieceImageBackground:[UIImage imageNamed:@"ComplicationForeground/Modular"] 
    twoPieceImageForeground:[UIImage imageNamed:@"ComplicationBackgroud/Modular"]];

entry = [CLKComplicationTimelineEntry entryWithDate:[NSDate date]
                                           complicationTemplate:template];

两张图片都有清晰的背景。如何使用whiteColor为中心图像着色,使用另一种颜色对外部图像进行着色?

1 个答案:

答案 0 :(得分:3)

使用template.line1ImageProvider.tintColor = [UIColor greenColor]; // Objective-C template.line1ImageProvider?.tintColor = UIColor.greenColor() // Swift 属性指定两件式图像背景的色调颜色。

例如,如果您希望两件式图像背景颜色为绿色,则可以指定:

{{1}}

有关详细信息,请参阅CLKImageProvider Class Reference

  

两件式图像仅在多色环境中显示,并优先于这些环境中的单片图像。两件式图像由分层在背景图像上的前景图像组成。两个图像都是模板图像。 ClockKit将tintColor属性中的颜色应用于背景图像,回退到底层模板中的颜色,如果未指定自定义颜色,则返回白色。 ClockKit始终将白色应用于前景图像。单色环境中不使用两件式图像。