为什么[NSTextStorage appendAttributedString:]不接受我的NSAttributedString的属性?

时间:2012-03-30 18:00:33

标签: objective-c cocoa

我正在尝试将具有特定字体和颜色的文本放入NSTextView中。我可以把文字放得很好,但它失去了我的属性:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
    [NSFont fontWithName:@"Monaco" size:10], @"NSFontAttributeName",
    [NSColor blueColor],                     @"NSForegroundColorAttributeName",
    nil];
NSAttributedString *string = [[NSAttributedString alloc] initWithString:someNSString
                                                             attributes: dict];
[someNSTextStorage appendAttributedString:string];

我已经阅读了所有相关的类引用(NSTextView,NSTextStorage,NSAttributedString等等),我仍然不知道为什么它不能像我期望的那样工作。

我做错了什么/失踪了?

1 个答案:

答案 0 :(得分:2)

找到您的问题:您已将NSForegroundColorAttributeName括在引号中。因此,您将传递NSString文字而不是宏。您的NSFontAttributeName也是如此。摆脱那些,你就定了。