【问题标题】:Multiple NSTableViews selection多个 NSTableViews 选择
【发布时间】:2014-01-12 09:53:17
【问题描述】:

我的应用中有 2 个表格视图,我正在以与以下屏幕截图类似的方式使用它们:

我的问题是我希望能够选择每个列表中的项目并让选择保持蓝色而不是在控件失去焦点时变为灰色。

我发现,如果我重载了 tableview 的 AcceptsFirstResponder 方法,我可以保留灰色以供选择,但这不是应用程序所需的外观。

有人对我如何实现这一目标有任何建议吗?我在想我也许可以在保持重载 AcceptsFirstResponder 方法的同时将灰色更改为蓝色,但我不确定这是否可能。

干杯, 迈克

【问题讨论】:

    标签: macos cocoa nstableview


    【解决方案1】:

    确保您的 NSTableView 是基于视图的,并查看 NSTableRowView 的

    - (void)drawSelectionInRect:(NSRect)dirtyRect;
    

    顺便说一句,我有义务敦促您不要这样做:颜色在 UI 中具有含义。蓝色的意思是“如果你按下一个键(比如向上箭头),这就是接收它的视图。”您的用户会感到困惑。

    【讨论】:

    • 我将听取您的建议,然后再看看我是如何实现这一目标的。我正在考虑将 NSOutlineView 用于最左侧的列表将给我一个足够好的外观,同时保持 UI 与其他 Mac 应用程序一致。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2015-07-10
    • 2012-11-13
    • 1970-01-01
    • 2013-09-16
    • 2020-12-19
    相关资源
    最近更新 更多