在黑色背景上呈现NSTextField和NSTextView之间的差异

Aar*_*ron 11 macos cocoa objective-c nstextfield nstextview

我正在尝试将文本绘制到黑色背景上,我发现文本呈现方式存在一些差异.这是我的代码:

NSTextView * textView = [[NSTextView alloc] initWithFrame:NSMakeRect(0.0f, 0.0f, 500.0f, 50.0f)];
[textView setDrawsBackground:YES];
[textView setBackgroundColor:[NSColor blackColor]];
[textView setString:@"NSTextView: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."];
[textView setFont:[NSFont fontWithName:@"Helvetica" size:18.0f]];
[textView setEditable:NO];
[textView setTextColor:[NSColor whiteColor]];

[flippedView addSubview:textView];

NSTextField * textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0.0f, 50.0f, 500.0f, 50.0f)];
[textField setDrawsBackground:YES];
[textField setBackgroundColor:[NSColor blackColor]];
[textField setBordered:NO];
[textField setBezeled:NO];
[textField setStringValue:@"NSTextField: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."];
[textField setFont:[NSFont fontWithName:@"Helvetica" size:18.0f]];
[textField setEditable:NO];
[textField setTextColor:[NSColor whiteColor]];

[flippedView addSubview:textField];
Run Code Online (Sandbox Code Playgroud)

NSTextField中的文本看起来很棒但是NSTextView中的文本看起来太粗体了.我究竟做错了什么?

这是一个截图:

在此输入图像描述

Nik*_*uhe 0

NSTextField 可能会告诉其单元格有关深色背景的信息,这可能不是您想要的。告诉它渲染浅色背景:

[[textField cell] setBackgroundStyle:NSBackgroundStyleLight];
Run Code Online (Sandbox Code Playgroud)