2012-12-05 62 views
0

我想爲每個索引CPTScatterPlot顯示一個「自定義標籤」。 CPTTextLayertextStyle屬性獲取文本顏色,字體大小等。我想以不同的顏色顯示CPTTextLayer中顯示的字符串的每個字符。我知道可以使用NSAttributedString,但是當我將這個參數傳遞給[[CPTTextLayer alloc] initWithText:attributedStr]時,我的應用程序崩潰了。是否可以將NSAttributedString應用於CPTTextLayer's文本?是否可以將NSAttributedString應用於CPTTextLayer的文本

+1

什麼是CPTTextLayer ..? – NANNAV

回答

0

Core Plot目前不支持屬性文本。您可以將增強請求添加到Core Plot issue tracker,以便將此功能考慮包含在未來的版本中。

3

從版本1.3開始,CorePlot允許基於NSAttributedString創建CPTTextLayer。這裏的例子:

NSString *smallTextPart = @"Small part "; 
NSString *bigTextPart = @"and the bigger one"; 

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@%@", smallTextPart, bigTextPart]]; 

[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue" size:12.0] range:NSMakeRange(0, smallTextPart.length)]; 
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0] range:NSMakeRange(smallTextPart.length, bigTextPart.length)]; 

CPTTextLayer *txtLayer = [[CPTTextLayer alloc] initWithAttributedText:str]; 

它還具有多線CPTTextLayer標籤工作正常(可以拆分成CPTTextLayer使用「\ n」字符分開的線)。

乾杯。

相關問題