【问题标题】:NSTableView: Avoid Blue Header when Sorting Table ColumnNSTableView:对表格列进行排序时避免使用蓝色标题
【发布时间】:2010-08-04 13:26:47
【问题描述】:

当我单击 NSTableView 列的标题时,标题变为蓝色并出现灰色小箭头。如何避免蓝色选择和箭头(但保持排序本身)?

作为我想要的示例:在 Xcode 中单击“组和文件”标题。

感谢您的帮助!

【问题讨论】:

    标签: objective-c xcode sorting nstableview


    【解决方案1】:

    如果您使用的是多列表,则永远不应尝试禁用箭头和突出显示,否则用户将如何知道排序是什么...如果您使用的是单列表(在源列表方式)然后丢失标题并使用表格的源列表样式。在决定覆盖标准行为之前,您应该阅读 Apple 界面指南并考虑是否真的需要覆盖这些行为。作为记录,Xcode 的 Groups & Files 没有排序,这就是它没有变成蓝色或得到箭头的原因。

    【讨论】:

      【解决方案2】:

      您可以使用 NSTableView 的实例方法“setIndicatorImage:inTableColumn:”来控制指标中显示的内容。我不知道是否有一种方法可以轻松更改突出显示。

      如果您继承 NSTableViewCell 并覆盖方法“drawSortIndicatorWithFrame:inView:ascending:priority:”和/或“highlight:withFrame:inView”来控制指示器元素和突出显示,您可以获得更多控制,包括突出显示。然后你可以像这样在你的表格列中使用它:

      NSTableHeaderCell *headerCell = [[[CustomHeaderCell alloc] init] autorelease];
      [tableColumn setHeaderCell:headerCell];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        • 2013-12-22
        相关资源
        最近更新 更多