Dark NSVisualEffectView上的NSTextField

时间:2016-04-18 17:05:27

标签: cocoa

如何在NSOutlineView上修复看起来很糟糕的文字,背后有一个黑暗的NSVisualEffectView?

Jagged NSTextField on Dark NSVisualEffectView

避免子类化的奖励点!

1 个答案:

答案 0 :(得分:4)

我遇到了与NSTextField类似的问题......我通过继承NSTextField并将CG上下文的setShouldSmoothFonts参数设置为false来修复它。像这样:

class MyOutlineView: NSOutlineView {

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

    super.draw(dirtyRect)
}

}