Objective-C NSScrollView 前景色

Objective-C NSScrollView Foreground Colour

我正在从事应用程序开发,刚开始使用 NSScrollViews 来显示大块文本。

我可以通过编写以下内容来设置背景颜色:

[_HeadersScrollView setBackgroundColor:[NSColor darkGrayColor]];

但不要通过执行类似以下操作来设置前景色:

[_HeadersScrollView setTextColor:[NSColor whiteColor]]; // nope
[_HeadersScrollView setForegroundColor:[NSColor whiteColor]]; // nope
[_HeadersScrollView setForeground:[NSColor whiteColor]]; // nope

有什么方法或任何其他方法可以让这种设置起作用吗?非常感谢。

滚动视图中没有更改前景色的设置。

_HeadersScrollView.tintColor = [NSColor whiteColor];

[_HeadersScrollView setTintColor:[NSColor whiteColor]];

NSScrollView 包含一个 NSClipView(滚动助手),其中包含 NSTextView。如果你想在文本视图上操作,你要么需要一个出口,要么你可以从滚动视图请求 documentView

您可以执行以下任一操作:

[_HeadersScrollView.documentView setTextColor:[NSColor whiteColor]];

或者,如果您有文本视图的出口(在我的示例中称为 _textView),您可以:

 _textView.textColor = [NSColor whiteColor];

在这种情况下,您可能还想在文本视图而不是滚动视图上设置背景颜色。并通过设置 drawsBackground.

告诉它绘制背景