2015-12-29 63 views
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) 

回答

0

雖然body1TextProvider將換到第二行,如果body2TextProvider是nil,headerTextProvider永遠不會換到body1TextProvider。

標題和正文的格式不同(即字體大小和文本顏色),而且看起來部分格式與其餘格式不同,可能會很奇怪。

您可以提供一個shortText短語來處理較長的text短語不適合的情況。

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

要以「非常非常非常非常長的短語」做到這一點,你需要的字符串分割成兩個變量,一個以「非常非常」的一個,並將其分配給headerTextProvider和body1TextProvider值。但由於body1TextProvider已經包裝,你有沒有嘗試只給body1TextProvider值分配文本(不向headerTextProvider分配任何東西)?

+0

雖然'body2TextProvider'是可選的,'body1TextProvider'和'headerTextProvider'沒有標記爲可選項。也許蘋果希望[ModularLargeStandardBody併發症](https://developer.apple.com/library/watchos/documentation/ClockKit/Reference/CLKComplicationTemplateModularLargeStandardBody_class/index.html#//apple_ref/occ/instp/CLKComplicationTemplateModularLargeStandardBody/headerTextProvider)同時擁有標題行和正文文本? –