我有一个小型MacRuby应用,可在NSTextView
内显示一些文字。我有一个名为make_label()
的方法,它使用一些文本构建一个NSTextView并返回它,我用它通过addSubview()
make_label()
看起来像这样:
def make_label( x, y, width, height, color, font_size, text )
label = NSTextView.alloc.initWithFrame( NSMakeRect( x, y, width, height) )
font = NSFont.systemFontOfSize(font_size)
label.setFont( font )
label.insertText( text )
label.setTextColor( color )
label.setDrawsBackground(false)
label.setRichText(true)
label.setEditable(false)
label.setSelectable(false)
label
end
我的问题是,为什么我的文字看起来如此糟糕?它看起来非常像素化,根本没有抗锯齿(从我所看到的)。
此屏幕截图显示了2种不同大小的字体,具有相同的现象。
答案 0 :(得分:1)
如果渲染到不透明的上下文,Cocoa就无法绘制子像素抗锯齿文本。
我来自客观C方面,所以我猜了一下,但尝试将label.setDrawsBackground(false)
设置为true。
答案 1 :(得分:1)
罪魁祸首是setWantsLayer(true)
我被吸引的视图被调用。我删除了这一行,我还需要像{joerick所描述的那样label.setDrawsBackground(false)
。