NSTextView backgroundColor属性

时间:2018-12-18 20:00:34

标签: swift macos syntax-highlighting background-color nstextview

我无法在NSTextView上使用背景色。我使用以下属性:

myTextView.typingAttributes = [
    NSAttributedString.Key.font: NSFont(name: "Helvetica", size: 16.0)!,
    NSAttributedString.Key.foregroundColor: NSColor.textColor,
    NSAttributedString.Key.kern: 2,
] as [NSAttributedString.Key: Any]

myTextView.selectedTextAttributes = [NSAttributedString.Key.foregroundColor: NSColor.systemRed,
                           NSAttributedString.Key.backgroundColor: NSColor.systemYellow]

如上所述,文本已正确显示,当我选择文本时,字体将按预期方式变为红色。但是,文本的背景色不会变为黄色。在暗模式和亮模式(Mojave)下都会发生。

我在这里想念什么?

编辑

我发现是什么原因造成的。我在使用自定义NSLayoutManager时覆盖了drawBackground(forGlyphRange glyphsToShow: NSRange, at _: NSPoint)。但是,我没有调用它的super,因此取消了backgroundColor属性。

0 个答案:

没有答案