Apple Watch 复杂功能色调颜色
Posted
技术标签:
【中文标题】Apple Watch 复杂功能色调颜色【英文标题】:Apple Watch Complication Tint Color 【发布时间】:2017-09-25 16:36:47 【问题描述】:我正在尝试为并发症模板图像添加色调。当我滚动选项以自定义我的表盘时,色调颜色是正确的。但是,一旦我选择了复杂功能并返回到正常的表盘状态,颜色就会变回白色。
- (void)getLocalizableSampleTemplateForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTemplate * __nullable complicationTemplate))handler
CLKComplicationTemplateModularSmallSimpleImage *modularTemplate = [[CLKComplicationTemplateModularSmallSimpleImage alloc] init];
CLKImageProvider *imageProvider = [CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"Complication/Modular"]];
imageProvider.tintColor = [UIColor colorWithRed:0.412 green:0.443 blue:0.773 alpha:1.000];
modularTemplate.imageProvider = imageProvider;
handler(modularTemplate);
定制: Tint is correct while customizing
选择并发症后: Tint is gone and it's back to a white image
【问题讨论】:
您问题中的函数只处理选择并发症时显示的 模板。您需要在准备实际复杂数据的函数中复制相同的行为。 @DávidPásztor 谢谢。成功了! 【参考方案1】:正如大卫在 cmets 中提到的,问题中的函数只处理 模板,您需要在准备实际复杂数据的函数中复制相同的行为。
添加以下代码以使色调颜色在选择阶段后保持不变:
- (void)getCurrentTimelineEntryForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTimelineEntry * __nullable))handler
CLKComplicationTemplateModularSmallSimpleImage *template = [[CLKComplicationTemplateModularSmallSimpleImage alloc] init];
CLKImageProvider *imageProvider = [CLKImageProvider imageProviderWithOnePieceImage:[UIImage imageNamed:@"Complication/Modular"]];
imageProvider.tintColor = [UIColor colorWithRed:0.412 green:0.443 blue:0.773 alpha:1.000];
template.imageProvider = imageProvider;
handler([CLKComplicationTimelineEntry entryWithDate:[NSDate date] complicationTemplate:template]);
【讨论】:
以上是关于Apple Watch 复杂功能色调颜色的主要内容,如果未能解决你的问题,请参考以下文章
将 GraphicCircular Apple Watch 复杂功能添加到现有 Xcode 项目