0

我有一个短语将是整个复杂性。有时它足够短,可以单独占据标题。然而,有时它太长了,我需要它来包裹身体线条。我一生都无法弄清楚如何获得这种行为。例如:

let phrase1 = "Short phrase"

phrase1足够短以适合标题行。

let phrase2 = "Very very very very very very long phrase"

对于phrase2, 仅"Very very ve..."显示在标题行上。我需要将其余部分显示在身体线条上。

这是代码:

let headerTextProvider = CLKSimpleTextProvider(text: string) //string  is either phrase1 or phrase2
let template = CLKComplicationTemplateModularLargeStandardBody()
template.headerTextProvider = headerTextProvider
let timelineEntry = CLKComplicationTimelineEntry(date: NSDate(), complicationTemplate: template)
handler(timelineEntry)
4

2 回答 2

1

为此,您需要将字符串拆分为两个变量,一个带有“非常非常”,一个带有“非常非常非常长的短语”,并将它们分配给 headerTextProvider 和 body1TextProvider 值。但是由于 body1TextProvider 已经换行,您是否尝试过仅将文本分配给 body1TextProvider 值(不给 headerTextProvider 分配任何内容)?

于 2015-12-30T22:30:46.733 回答
0

虽然 body1TextProvider 将换行到第二行,但如果 body2TextProvider 为 nil,headerTextProvider 将永远不会换行到 body1TextProvider。

标题和正文的格式不同(即字体大小和文本颜色),看到您的部分短语格式与其余部分不同可能会很奇怪。

您可以提供一个shortText短语来处理text不适合较长短语的情况。

let headerTextProvider = CLKSimpleTextProvider(text: phrase2, shortText: phrase1)
于 2015-12-29T15:49:49.263 回答