如何设置NSButtonCell文本标签的颜色

时间:2010-10-14 11:53:49

标签: objective-c cocoa macos

如何设置NSButtonCell的标签(标题)文本的颜色,即表格视图的列单元格?就我而言,它是一个复选框按钮单元格。 (是否可以使用IB?)

2 个答案:

答案 0 :(得分:12)

尝试这个,我认为它是完美的。

NSColor *color = [NSColor redColor];
NSMutableAttributedString *colorTitle =
    [[NSMutableAttributedString alloc] initWithAttributedString:[button attributedTitle]];

NSRange titleRange = NSMakeRange(0, [colorTitle length]);

[colorTitle addAttribute:NSForegroundColorAttributeName
                   value:color
                   range:titleRange];

[button setAttributedTitle:colorTitle];

答案 1 :(得分:9)

您可以尝试使用属性字符串值。

NSColor *txtColor = [NSColor redColor];
NSFont *txtFont = [NSFont boldSystemFontOfSize:14];
NSDictionary *txtDict = [NSDictionary dictionaryWithObjectsAndKeys:
        txtFont, NSFontAttributeName, txtColor, NSForegroundColorAttributeName, nil];
NSAttributedString *attrStr = [[[NSAttributedString alloc]
        initWithString:@"Hello!" attributes:txtDict] autorelease];
[[attrStrTextField cell] setAttributedStringValue:attrStr];
[attrStrTextField updateCell:[attrStrTextField cell]];