【发布时间】:2010-08-04 13:26:47
【问题描述】:
当我单击 NSTableView 列的标题时,标题变为蓝色并出现灰色小箭头。如何避免蓝色选择和箭头(但保持排序本身)?
作为我想要的示例:在 Xcode 中单击“组和文件”标题。
感谢您的帮助!
【问题讨论】:
标签: objective-c xcode sorting nstableview
当我单击 NSTableView 列的标题时,标题变为蓝色并出现灰色小箭头。如何避免蓝色选择和箭头(但保持排序本身)?
作为我想要的示例:在 Xcode 中单击“组和文件”标题。
感谢您的帮助!
【问题讨论】:
标签: objective-c xcode sorting nstableview
如果您使用的是多列表,则永远不应尝试禁用箭头和突出显示,否则用户将如何知道排序是什么...如果您使用的是单列表(在源列表方式)然后丢失标题并使用表格的源列表样式。在决定覆盖标准行为之前,您应该阅读 Apple 界面指南并考虑是否真的需要覆盖这些行为。作为记录,Xcode 的 Groups & Files 没有排序,这就是它没有变成蓝色或得到箭头的原因。
【讨论】:
您可以使用 NSTableView 的实例方法“setIndicatorImage:inTableColumn:”来控制指标中显示的内容。我不知道是否有一种方法可以轻松更改突出显示。
如果您继承 NSTableViewCell 并覆盖方法“drawSortIndicatorWithFrame:inView:ascending:priority:”和/或“highlight:withFrame:inView”来控制指示器元素和突出显示,您可以获得更多控制,包括突出显示。然后你可以像这样在你的表格列中使用它:
NSTableHeaderCell *headerCell = [[[CustomHeaderCell alloc] init] autorelease];
[tableColumn setHeaderCell:headerCell];
【讨论】: