在源列表NSTableView中禁用NSVisualEffectView

时间:2014-12-08 06:56:30

标签: macos nstableview osx-yosemite nsvisualeffectview

我有一个较旧的应用程序,具有基于NSCell的NSTableView具有源列表突出显示的特定外观。不幸的是,在Yosemite上,这会在所选单元格下添加NSVisualEffectView的活力,从而以令人不快的方式打破外观。

遗憾的是,我无法找到退出此行为的方法。 设置常规突出显示会以另一种方式打破外观(灰色选择而不是蓝色)。

是否有办法在10.10上选择退出此行为?

2 个答案:

答案 0 :(得分:2)

您需要将表格视图外观从NSAppearanceNameVibrantLight更改为NSAppearanceNameAqua。如果您要定位OS X 10.8或更早版本,请尝试直接编辑XIB文件来设置外观:

<tableView appearanceType="aqua" ...>

还要确保在IB中将表格视图背景颜色设置为Default

答案 1 :(得分:0)

我不知道它是否适合您的情况,但是禁用隐式视觉效果视图的最佳方法是将NSTable/OutlineView嵌入另一个NSVisualEffectView中,并将视图状态设置为非活动

visualEffectView.state = .inactive