我有一个较旧的应用程序,具有基于NSCell的NSTableView具有源列表突出显示的特定外观。不幸的是,在Yosemite上,这会在所选单元格下添加NSVisualEffectView的活力,从而以令人不快的方式打破外观。
遗憾的是,我无法找到退出此行为的方法。 设置常规突出显示会以另一种方式打破外观(灰色选择而不是蓝色)。
是否有办法在10.10上选择退出此行为?
答案 0 :(得分:2)
您需要将表格视图外观从NSAppearanceNameVibrantLight
更改为NSAppearanceNameAqua
。如果您要定位OS X 10.8或更早版本,请尝试直接编辑XIB文件来设置外观:
<tableView appearanceType="aqua" ...>
还要确保在IB中将表格视图背景颜色设置为Default
。
答案 1 :(得分:0)
我不知道它是否适合您的情况,但是禁用隐式视觉效果视图的最佳方法是将NSTable/OutlineView
嵌入另一个NSVisualEffectView
中,并将视图状态设置为非活动
visualEffectView.state = .inactive