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