我正在将基于单元格的 NSOutlineView 迁移到基于 View 的 NSOutlineView,并且我注意到基于 View 的大纲 View 中文本的渲染方式有所不同。请参阅此图片:
为什么有区别?一些可能有帮助的背景信息?
- 这是在 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/