【问题标题】:View-based "Source List" NSOutlineView font smoothing issue基于视图的“源列表”NSOutlineView 字体平滑问题
【发布时间】:2012-08-13 17:11:39
【问题描述】:

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

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

  • 这是在 Mac OS X 10.7.4 上
  • NSOutlineView 的高亮样式是 Source List
  • NSOutlineView 的背景颜色是透明的,背景是由底层视图绘制的
  • 在基于视图的大纲视图中,单元格文本由 NSTableCellView 中的 NSTextField 绘制
  • 据我所知,视图层次结构中的任何内容都不受层支持

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

【问题讨论】:

    标签: objective-c macos cocoa nsoutlineview


    【解决方案1】:

    更新:我想通了。在 Interface Builder 中,如果我在表格单元格视图中选择文本字段,选中“绘制背景”并将背景颜色设置为清除 (RGBA 0,0,0,0),则文本看起来像它一样平滑在基于单元格的大纲视图中。

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

    【讨论】:

    • 出现这种情况的原因是,在非透明背景上渲染的视图禁用了亚像素文本渲染。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多