iOS WatchOS5 如何在图形矩形复杂功能中自定义标题?



我想从图形矩形复杂功能中删除文本,或将其设置为空字符串。默认情况下,它是应用名称。我试图在watchKitplist文件中将显示名称设置为" ",但这似乎并没有改变它。

如何从图形矩形 WatchOS5 复杂功能中删除文本?

我看到有某种方法可以获取(分配?(CLKTextProvider,如下所述:https://developer.apple.com/documentation/clockkit/clktextprovider 但是,它似乎涉及添加可本地化的字符串文件,如果有一种更简单的方法仅获取CLKComplicationTemplateGraphicRectangularLargeImage的图像,我不想弄乱它

func getLocalizableSampleTemplate(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void) {
// This method will be called once per supported complication, and the results will be cached

if complication.family == .graphicRectangular {
let template =  GraphicTemplate()
template.textProvider = CLKSimpleTextProvider.init(text: "")
handler(template)
}else {
handler(nil)
}
}

class GraphicTemplate: CLKComplicationTemplateGraphicRectangularLargeImage {
}

你不需要弄乱可本地化的字符串(phew(。

您需要在两个地方设置并发症的外观。

  1. 示例模板 - 当用户自定义人脸并滚动浏览可用复杂功能列表时,将向用户显示此模板。如问题所示,您按并发症家族以getLocalizableSample(for: withHandler:)方法提供此示例。

  2. 面部显示的实际现场并发症,您在CLKComplicationDataSourcegetCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void)方法中提供。

在这两个地方,您都需要使用文本提供程序返回模板(如果没有,您将在运行时崩溃(,尽管返回空字符串是可以的。这应该会删除应用名称。

let template = CLKComplicationTemplateGraphicRectangularLargeImage()
template.textProvider = CLKSimpleTextProvider.init(text: "")
template.imageProvider = CLKFullColorImageProvider(fullColorImage: myImage)
return template

(顺便问一下,你看过最近关于手表 os5 并发症的 Apple Tech Talk 吗?这是一个很好的(。 😄

最新更新