【问题标题】:CLKComplication tintColor not workingCLKComplication tintColor 不起作用
【发布时间】:2015-10-11 19:22:02
【问题描述】:

我正在尝试更改手表应用程序复杂功能(模块化大型高身)中的文本颜色,但无论我做什么,文本都保持白色。

这是我的代码,在包含 tintColor 的行中,我已经将它们一起尝试过,并且一一尝试。

let secondTemplate = CLKComplicationTemplateModularLargeTallBody()
secondTemplate.tintColor = UIColor.greenColor()
secondTemplate.headerTextProvider.tintColor = UIColor.greenColor()
secondTemplate.bodyTextProvider.tintColor = UIColor.greenColor()
secondTemplate.headerTextProvider = CLKSimpleTextProvider(text: location.uppercaseString)
secondTemplate.bodyTextProvider = CLKSimpleTextProvider(text: "It's 4:20")
let secondEntry = CLKComplicationTimelineEntry(date: dateOf420, complicationTemplate: secondTemplate)
entries.append(secondEntry)

我一直在寻找涉及 CLKComplication tint color 的问题,但我没有找到任何问题,希望您能提供帮助!

【问题讨论】:

  • 您是在多色脸上尝试吗?色调颜色当前仅在设置为“多色”和实用程序面时用于模块化面。否则,并发症将使用面部的色调。
  • 谢谢!就是这样,我不知道我必须将表盘设置为多色
  • @NoahWitherspoon 您能否将其发布为答案以便我接受?

标签: uikit apple-watch watchos-2 watchos clockkit


【解决方案1】:

不幸的是,这里的答案具有误导性......我拒绝将“只有灰色可用”作为答案,所以实验开始了:

是的,这是我的应用程序,正文为全彩色和白色文本。以下是相关代码:

let headerTextProvider = CLKSimpleTextProvider(text: data.headerText)
headerTextProvider.tintColor = UIColor.yellowColor() // data.headerColor

let textProvider = CLKTimeTextProvider(date: data.date)

let template: CLKComplicationTemplate

switch family {

...

case .ModularLarge:
    let textTemplate = CLKComplicationTemplateModularLargeTallBody()
    textTemplate.headerTextProvider = headerTextProvider
    textTemplate.bodyTextProvider = textProvider
    template = textTemplate

}

template.tintColor = UIColor(red: 0.99, green: 0.99, blue: 0.99, alpha: 1)
return template

不要...我不知道为什么这会起作用,但它确实闻起来像一个错误。可能是色彩空间,可能是黑客,......我们凡人现在永远不会。

【讨论】:

  • 而且在 WatchOS 4 中...似乎白色会自动变成灰色,但 (0.99,0.99,0.99,1) 未检测为白色。解决 Apple 问题的好方法。
【解决方案2】:

对于公共 watchOS2 的复杂情况,您还应该了解其他重要更改。

  1. 您无法自定义实用人脸的色调。只有多色的模块化可以着色。

  2. 您不能为所有复杂元素自定义颜色,但设计为着色的元素除外。例如,使用 ModularLargeTallBodyModularLargeStandardBody 您可以仅为标题文本提供程序自定义色调。其他色调的元素将被忽略并显示为灰色。

  3. 如果你给模板本身提供tintColor,它将被用作点击反馈颜色(Apple 记录的完全错误),它还会使未着色的元素复杂化为亮白色而不是灰色。

这是 IMO 的合理行为,但 Apple 的文档是不合理的。

【讨论】:

    【解决方案3】:

    并发症中的色调目前仅在两个地方使用:

    • 设置为“多色”时的模块化面
    • 实用脸

    在其他地方,复杂功能将使用面部的色调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2013-06-07
      • 2015-03-24
      相关资源
      最近更新 更多