如何将并发症的标题包裹到体线上?

时间:2015-12-29 15:34:55

标签: watchkit apple-watch apple-watch-complication clockkit

我有一个短语将是整个并发症。有时它足够短,只能占据标题。然而,有时它太长了,我需要它包裹在身体线条上。我不能为我的生活弄清楚如何得到这种行为。例如:

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)

2 个答案:

答案 0 :(得分:1)

要做到这一点,你需要将字符串分成两个变量,一个用"非常非常"和#34;非常非常非常长的短语"并将它们分配给headerTextProvider和body1TextProvider值。但是因为body1TextProvider已经包装了,你是否尝试过只将文本分配给body1TextProvider值(不为headerTextProvider赋值)?

答案 1 :(得分:0)

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

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

您可以提供shortText词组来处理较长text词组不适合的案例。

let headerTextProvider = CLKSimpleTextProvider(text: phrase2, shortText: phrase1)