NSTextView背景未正确调整大小

时间:2011-08-03 02:43:56

标签: macos cocoa colors nstextview

我在NSScrollView中有一个NSTextView。滚动视图具有高度和宽度的自动调整大小掩码,因此它会随着窗口的大小而改变大小。

文本视图的设置与苹果文档推荐here的方式非常相似。

但是无论我在文本视图中放置什么设置,我都无法使用滚动视图调整背景颜色。

这是我正在处理的图片:

enter image description here

宽度有效,但不是高度。

这是textview的设置代码,就像这张图片一样:

NSTextView *view = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, scrollview.contentSize.width, scrollview.contentSize.height) textContainer:textContainer];
[view setMinSize:NSMakeSize(0.0, scrollview.contentSize.height)];
[view setMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
[view setVerticallyResizable:YES];
[view setHorizontallyResizable:NO];
[view setAllowsDocumentBackgroundColorChange:YES];
[view setDrawsBackground:YES];
[view setAutomaticLinkDetectionEnabled:YES];
[view setAutoresizingMask:NSViewWidthSizable];

1 个答案:

答案 0 :(得分:5)

白色背景颜色不是NSTextView的颜色,而是封闭NSScrollView的颜色。

要更改它,请在Interface Builder / Xcode 4中选择NSScrollView。或者,要以编程方式执行,请使用-[NSView encosingScrollView]

NSScrollView *scrollView = [textView enclosingScrollView];
[scrollView setBackgroundColor:[NSColor blackColor]];