Cocoa 暗NSVisualEffectView上的NSTextField

Cocoa 暗NSVisualEffectView上的NSTextField,cocoa,Cocoa,如何修复NSOutlineView上外观糟糕的文本,后面有一个黑色的NSVisualEffectView 避免子类化的额外积分 我对NSTextField也有类似的问题……我通过对NSTextField进行子类化并将CG上下文的setShouldSmoothFonts参数设置为false来修复它。像这样: class MyOutlineView: NSOutlineView { override func draw(_ dirtyRect: NSRect) { let context

如何修复NSOutlineView上外观糟糕的文本,后面有一个黑色的NSVisualEffectView


避免子类化的额外积分

我对NSTextField也有类似的问题……我通过对NSTextField进行子类化并将CG上下文的setShouldSmoothFonts参数设置为false来修复它。像这样:

class MyOutlineView: NSOutlineView {

override func draw(_ dirtyRect: NSRect) {
    let context = NSGraphicsContext.current()?.cgContext
    context!.setShouldSmoothFonts(false)

    super.draw(dirtyRect)
}

}

我在NSTextField中遇到了类似的问题…我通过对NSTextField进行子类化并将CG上下文的setShouldSmoothFonts参数设置为false来修复它。像这样:

class MyOutlineView: NSOutlineView {

override func draw(_ dirtyRect: NSRect) {
    let context = NSGraphicsContext.current()?.cgContext
    context!.setShouldSmoothFonts(false)

    super.draw(dirtyRect)
}

}

是否将NSVisualEffectView的SetWantLayer:属性设置为是?@blackirishman我尝试了是,似乎没有任何更改。是否将NSVisualEffectView的SetWantLayer:属性设置为是?@blackirishman我尝试了是,似乎没有任何更改。