基于视图的“源列表”NSOutlineView字体平滑问题

时间:2012-08-13 17:11:40

标签: objective-c macos cocoa nsoutlineview

我正在将基于单元格的NSOutlineView迁移到基于视图的NSOutlineView,并且我注意到在基于视图的大纲视图中文本的呈现方式不同。看到这张图片:

http://i.stack.imgur.com/VQs3d.png

为何与众不同?一些可能有帮助的背景信息?

  • 这是在Mac OS X 10.7.4上。
  • NSOutlineView的突出显示样式是“源列表”<​​/ li>
  • NSOutlineView的背景颜色是透明的,背景是由底层视图绘制的
  • 在基于视图的大纲视图中,单元格文本由NSTableCellView中的NSTextField绘制
  • 据我所知,视图层次结构中没有任何内容支持图层支持

我认为这描述了一个类似的问题:Weird font anti-aliasing in view-based NSOutlineView,但解决方案对我不起作用,因为(我不认为)任何单元格视图或文本字段都是图层支持的。

1 个答案:

答案 0 :(得分:1)

更新:我已经明白了。在Interface Builder中,如果我在表格单元格视图中选择文本字段,请选中“绘制背景”,并将背景颜色设置为清除(RGBA 0,0,0,0),文本显示为与其相同的平滑方式在基于单元格的大纲视图中。

所以我认为这不是NSOutlineView问题。我不知道Cocoa文本渲染的内部结构,但我假设它是因为字体平滑将根据文本的绘制背景而有所不同。