Objective-C NSScrollView前景色

时间:2015-05-10 01:37:38

标签: objective-c macos nsscrollview nscolor

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

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

[_HeadersScrollView setBackgroundColor:[NSColor darkGrayColor]];

但是不要通过做类似的事情来设置前景色:

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

是否有方法或任何其他方式让我可以使用此类设置?我真的很感激。

2 个答案:

答案 0 :(得分:2)

NSScrollView包含NSClipView(滚动辅助工具),其中包含NSTextView。如果您想在文本视图上操作,您需要一个插座,或者您可以从滚动视图中请求documentView

你可以这样做:

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

或者,如果您有文本视图的插座(在我的示例中称为_textView),您可以执行以下操作:

 _textView.textColor = [NSColor whiteColor];

在这种情况下,您可能还想在文本视图中设置背景颜色,而不是滚动视图。并通过设置drawsBackground来告诉它绘制背景。

答案 1 :(得分:-1)

在scrollview中没有更改前景色的设置。

_HeadersScrollView.tintColor = [NSColor whiteColor];

[_ HeadersScrollView setTintColor:[NSColor whiteColor]];