2012-08-13 64 views
1

我正在将基于单元格的NSOutlineView迁移到基于视图的基于单元格的视图,并且我注意到在基于视图的大纲视图中呈现文本的方式不同。看到这个图片:基于视图的“源列表”NSOutlineView字体平滑问题

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

为什么不同?一些可能有帮助的背景信息?

  • 这是在Mac OS X 10.7.4
  • 的NSOutlineView的高亮风格是节目源
  • 的NSOutlineView的背景颜色是透明的,背景是由一个基本观点
  • 在绘制基于视图的大纲视图,单元格文本正在通过的NSTextField在视图层次的NSTableCellView
  • 没有得出是,据我所知,层支持

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

回答

1

更新:我已经想通了。在界面生成器中,如果我选择表格单元格视图中的文本字段,选中“绘制背景”,并设置背景颜色清除(RGBA 0,0,0,0),则文本将以与其相同的方式平滑在基于单元格的大纲视图中。

所以我不认为这是一个特殊的NSOutlineView问题。我不知道可可文本渲染的内部,但我假设这是因为字体平滑会根据文本的背景类型而有所不同。

+0

发生这种情况的原因是因为在非不透明背景上呈现的视图禁用了子像素文本呈现功能。 – 2013-01-31 23:24:31