如果选择了一行,则在 NSTableView 上显示菜单

龙崎胡里奥

我在 NSTableView 的出口上有一个菜单。当我右键单击表视图时,它会显示菜单,但如果没有选择行,我不想显示菜单。当我右键单击并且没有选择行时,如何停止显示菜单?

我已经尝试过:

validateMenuItem 

但它永远不会被调用

我试过 NSMenuDelegate 和它的

func menuWillOpen(_ menu: NSMenu) { }

func menuNeedsUpdate(_ menu: NSMenu) { }

但是他们都没有返回我可以设置为不显示菜单的任何内容,如果...

建议的副本要求在单击特定单元格时阻止显示上下文菜单。这个问题是关于在没有选择 ROW 时阻止菜单显示。

龙崎胡里奥

这很容易:

实施

NSMenuDelegate

并添加此方法:

func menuWillOpen(_ menu: NSMenu) {
        if myTableView.selectedRow < 0 {
            menu.cancelTrackingWithoutAnimation()
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章