我无法在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属性。