如何解决如何防止在 NSOutlineView
我有一个 NSOutlineView,其中的文本字段可以通过按回车键或使用右键单击来编辑。我还根据点击的行将 menu(for event: NSEvent) -> NSMenu?
覆盖到菜单
当我右键单击文本字段时,它会按预期打开正确的菜单,但也会使文本字段进入编辑模式。有没有办法处理这种行为?
但是,当我在文本字段外单击时,它无需将文本字段设置为编辑模式即可工作:
解决方法
我有一个类似的 NSTableView,支持右键单击以显示菜单,但字段也可以直接编辑。我查看了为什么/如何在我的情况下编辑似乎不是问题,并且我将行为范围缩小到在我的 NSTableView 子类中存在这行代码:
// This trick convinces the accessibility system to bother checking whether
// we have a menu to export to e.g. VoiceOver.
[self setMenu:[[NSMenu alloc] init]];
正如您从评论中看到的,这种“设置空菜单”的理由与避免您看到的编辑行为的原因不同,但它似乎也有修复该问题的副作用。
所以,请尝试在您的 NSOutlineView 子类中添加类似上面的一行,看看是否能解决问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。