在 OS X 10.10 源列表中似乎使用light充满活力的外观。在 Finder 中(以及在其他一些第三方应用程序中,例如 Things.app),源列表中的选定项目由dark充满活力的外观。例如,请参见下图中的桌面行。
我怎样才能复制这种行为?我是否需要使用委托方法来指定表行视图,
-outlineView:rowViewForItem:
并尝试自己自定义绘图还是有更直接的方法?如果您在 Xcode 中创建标准源列表 UI,则默认突出显示仍然是我们在以前版本的 OS X 中看到的标准蓝色矩形。
经过一段时间的研究,我找到了一种方法来实现这一目标。
事实证明,当使用 NSTableViewSelectionHighlightStyleSourceList 并在 NSOutlineView 外部单击时,我会获得“Finder 突出显示”样式。所以我想如果你拒绝让它成为第一响应者,它就会保持这种状态。
只需将 NSOutlineView 设为子类并重写此方法即可:
-(BOOL)acceptsFirstResponder{
return NO;
}
它有效,但有一些缺点。例如,在 NSOutlineView 中使用箭头键将不再起作用。我下载了 Things 应用程序,它也不允许使用箭头键,所以很可能他们就是这么做的。如果有人找到更好的方法,请发布。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)