NSTextView背景未正确调整大小

Dex*_*erW 2 macos cocoa colors nstextview

我在NSScrollView中有一个NSTextView.滚动视图具有高度和宽度的自动调整大小掩码,因此它会根据其所在的窗口更改大小.

文本视图的设置与Apple文档在此处推荐的方式非常相似.

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

这是我正在处理的图片:

在此输入图像描述

宽度有效,但不是高度.

这是我的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];
Run Code Online (Sandbox Code Playgroud)

gcb*_*ann 5

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

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

NSScrollView *scrollView = [textView enclosingScrollView];
[scrollView setBackgroundColor:[NSColor blackColor]];
Run Code Online (Sandbox Code Playgroud)