Macos 在源列表NSTableView中禁用NSVisualEffectView
我有一个较旧的应用程序,它具有基于NSCell的NSTableView的特定外观,并具有源列表高亮显示。不幸的是,在约塞米蒂,这在所选单元格下添加了NSVisualEffectView活力,以令人不快的方式破坏了外观 不幸的是,我找不到一种方法来避免这种行为。 设置常规亮显会以另一种方式破坏外观(灰色选择而不是蓝色选择)Macos 在源列表NSTableView中禁用NSVisualEffectView,macos,nstableview,osx-yosemite,nsvisualeffectview,Macos,Nstableview,Osx Yosemite,Nsvisualeffectview,我有一个较旧的应用程序,它具有基于NSCell的NSTableView的特定外观,并具有源列表高亮显示。不幸的是,在约塞米蒂,这在所选单元格下添加了NSVisualEffectView活力,以令人不快的方式破坏了外观 不幸的是,我找不到一种方法来避免这种行为。 设置常规亮显会以另一种方式破坏外观(灰色选择而不是蓝色选择) 你知道10.10上是否有办法退出此行为吗?你需要将表视图的外观从nsappearancenamevirantlight更改为NSAppearanceNameAqua。如果您的目
你知道10.10上是否有办法退出此行为吗?你需要将表视图的外观从
nsappearancenamevirantlight
更改为NSAppearanceNameAqua
。如果您的目标是OS X 10.8或更早版本,请尝试通过直接编辑XIB文件来设置外观:
<tableView appearanceType="aqua" ...>
另外,请确保在IB中将表视图背景颜色设置为默认值。我不知道它是否适用于您的情况,但禁用隐式视觉效果视图的最佳方法是将您的
NSTable/OutlineView
嵌入另一个NSVisualEffectView
中,并将视图状态设置为非活动
visualEffectView.state = .inactive
我的目标甚至是OSX10.7。我直接编辑了XIB,但没有帮助。选定单元格的视觉效果视图仍在创建中:-/请尝试设置封闭滚动视图的外观。为了测试这一点,我刚刚签出了一个支持10.7的旧版本代码。这些设置没有显示出活力:出于某种原因,对我来说仍然不起作用。在UI检查器中,我仍然可以在NSClipView下看到NSVisualEffect视图。我也尝试过将其从视图层次结构中删除,但效果更差,因为表视图本身在选定单元格的背景中显示为白色,如果没有效果视图,它将保持白色。感谢您的帮助,但我将保持这种状态,或者尝试通过不对表视图使用源列表类型来解决这个问题。