MacRuby/Cocoa中呈现不佳的文本(NSFont)。有什么建议吗?
我有一个小的MacRuby应用程序,它在MacRuby/Cocoa中呈现不佳的文本(NSFont)。有什么建议吗?,cocoa,nsview,nstextview,macruby,Cocoa,Nsview,Nstextview,Macruby,我有一个小的MacRuby应用程序,它在NSTextView中显示一些文本。我有一个名为make_label()的方法,该方法使用一些文本构建一个NSTextView并返回它,我使用它通过addSubview()将其添加到另一个NSView make_label()如下所示: def make_label( x, y, width, height, color, font_size, text ) label = NSTextView.alloc.initWithFrame( NSMakeR
NSTextView
中显示一些文本。我有一个名为make_label()
的方法,该方法使用一些文本构建一个NSTextView并返回它,我使用它通过addSubview()将其添加到另一个NSView
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
我的问题是,为什么我的文本呈现得如此糟糕?它看起来非常像素化,根本没有抗锯齿(从我所看到的)
此屏幕截图显示了两种不同大小的字体,具有相同的现象。Cocoa无法绘制亚像素抗锯齿文本,如果它呈现的上下文不是不透明的
我来自objective-C方面,所以我有点猜测,但请尝试将
label.setDrawsBackground(false)
设置为true。罪魁祸首是setWantLayer(true)
,它是为我正在绘制的视图调用的。我删除了那一行,还需要标记.setDrawsBackground(false)
,正如joerick所描述的那样。不幸的是,同样的结果。另外,请注意,我正在NSImage
上绘制此文本(如果这有帮助的话)。但是,隐藏图像并没有帮助。