我想改变我所有的NSToolbarItem标签的颜色。
我需要将它设置为白色,因为它更适合于我的NSWindow的背景色,但它默认为黑色,而且我还没有找到在接口生成器中或通过代码直接更改它的方法(NSToolbarItem实现setLabel,但它只是设置文本字符串)。
如果可能的话,我想避免:
NSToolbar替换整个NSView。对我来说就像是在重新发明轮子。NSView内部创建自定义NSToolbarItem。这意味着必须将其所有标签保留为空白,并在自定义视图中添加白色标签。发布于 2012-04-23 11:55:08
如果有人感兴趣,我解决这个问题的方法是:
NSToolbarItem内部的自定义视图。NSToolbar中只显示图标而不是图标+标签,以隐藏默认标签。我不得不处理与Interface的bug相关的另一个问题:自定义视图根本没有显示。多亏了这个答案,我才能修复它。
发布于 2016-05-11 10:24:20
您可以使用NSMutableAttributeString更改它。例如:
-(void) awakeFromNib{
NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:self.label];
NSRange titleRange = NSMakeRange(0, title.length);
[title addAttribute:NSForegroundColorAttributeName value:[NSColor redColor] range:titleRange];
[self setLabel:title]; }发布于 2012-03-22 16:26:16
您必须对NSBarButtonItem进行子类化,并为此重写drawRect方法。否则,它将使用[NSColor controlTextColor]或[NSColor disabledControlTextColor]。
https://stackoverflow.com/questions/9586806
复制相似问题