2012-08-13 68 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