3

我想更改我所有NSToolbarItem标签的颜色。

我需要将它设置为白色,因为它更适合我的背景颜色NSWindow,但它默认为黑色,我还没有找到一种方法来更改它,既不是在 Interface Builder 中也不是直接通过代码(NSToolbarItem实现setLabel,但它只是设置文本字符串)。

如果可能的话,我想避免:

  • NSToolbar用自定义替换整体NSView。感觉就像重新发明轮子给我一样。
  • NSView必须在里面创建 custom NSToolbarItem。这意味着必须将其所有标签留空,并在自定义视图中添加白色标签。
4

3 回答 3

1

如果有人感兴趣,我通过以下方式解决了它:

  • NSToolbarItem在包含按钮和标签的 s 中使用自定义视图。
  • 仅显示图标而不是图标+标签NSToolbar以隐藏默认标签。

我不得不处理与 Interface Builder 的错误相关的另一个问题:自定义视图根本没有显示。由于这个答案,我能够修复它。

于 2012-04-23T11:55:08.833 回答
0

您可以使用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]; }
于 2016-05-11T10:24:20.293 回答
-2

您必须继承 NSBarButtonItem 并为此覆盖 drawRect 方法。否则它将使用[NSColor controlTextColor]or [NSColor disabledControlTextColor]

于 2012-03-22T16:26:16.067 回答