我想为每个索引显示一个“自定义标签” CPTScatterPlot
。从属性中CPTTextLayer
获取文本颜色、字体大小等。textStyle
我想显示CPTTextLayer
以不同颜色显示的字符串的每个字符。我知道可以使用NSAttributedString
,但是当我将此参数传递给 时[[CPTTextLayer alloc] initWithText:attributedStr]
,我的应用程序崩溃了。是否可以将 aNSAttributedString
应用于CPTTextLayer's
文本?
问问题
398 次
2 回答
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 标签(您可以使用 '\n' 字符将 CPTTextLayer 拆分为单独的行)。
干杯。
于 2013-08-17T13:15:57.537 回答
0
Core Plot 目前不支持属性文本。您可以向Core Plot 问题跟踪器添加增强请求,以便考虑将此功能包含在未来版本中。
于 2012-12-06T00:15:56.943 回答