objective-c - 基于 View "Source List"NSOutlineView 字体平滑问题

标签 objective-c macos cocoa nsoutlineview

我正在将基于单元格的 NSOutlineView 迁移到基于 View 的 NSOutlineView,并且我注意到基于 View 的大纲 View 中文本的渲染方式有所不同。请参阅此图片:

/image/VQs3d.png

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

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

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

最佳答案

更新:我已经弄清楚了。在 Interface Builder 中,如果我在表格单元格 View 中选择文本字段,选中“绘制背景”,并将背景颜色设置为清除 (RGBA 0,0,0,0),则文本会以与实际情况相同的方式显示平滑效果在基于单元格的大纲 View 中。

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

关于objective-c - 基于 View "Source List"NSOutlineView 字体平滑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939059/

相关文章:

iPhone - 编码和解码 NSValue

macos - 选择器没有已知的实例方法 'myWindowController'

objective-c - iTunes 搜索 API,查找免费价格

objective-c - 对日期字符串或对象的 NSArray 进行排序

objective-c - 在 Cocoa 中同时显示多个工具提示

c++ - 在 MacOS 中编译 C++ 代码时的 dSYM 目录

c - 如何使用leaks命令行工具查找内存泄漏?

ios - 将 NSMutableArray 的内容保存到文件

objective-c - 在 Objective-C 中使用 NaCl/libsodium 加密

macos - MacOS 上的 HiDPI/backingScaleFactor,如何获取实际值?