使用NSTextStorage绘制文本

时间:2011-01-20 17:51:27

标签: cocoa nstextstorage

我使用三个类在屏幕上绘制文本:NSTextStorage,NSTextContainer,NSLayoutManager。 我希望nstextstorage的一部分有一些特殊的属性(下划线,颜色......),但它不起作用。这是代码:

NSTextStorage *textStorage= [[NSTextStorage alloc] initWithString:string];
int fromLength= [[[pub from] name] length];
[textStorage addAttribute:NSUnderlinePatternSolid  value:NSUnderlineStyleAttributeName range:NSMakeRange(0, fromLength)];
[textStorage addAttribute:NSFontAttributeName value:[self defaultFont] range:NSMakeRange(0, [textStorage length])];

问题是它引发了这个异常:NSConcreteNotifyingMutableAttributedString addAttribute:value:range :: nil value

你能帮助我吗?

提前致谢。

编辑:我通过更正方法调用解决了异常。但是不会显示属性。

1 个答案:

答案 0 :(得分:0)

[self defaultFont]返回什么值?它看起来可能是零。