gpt4 book ai didi

objective-c - 鼠标右键按下 : not called in NSControl subclass

转载 作者:行者123 更新时间:2023-12-03 17:08:23 26 4
gpt4 key购买 nike

我有一个 NSControl 子类(它被配置为层托管 View ,尽管我怀疑这是否相关)。我一直在尝试编写代码来获取并显示上下文菜单。但是,menuForEvent:rightMouseDown: 都没有被调用。知道是什么原因造成的吗?其他鼠标事件工作正常。

顺便说一句,我不确定我是否必须自己调用 menuForEvent: ,但文档听起来好像我不需要,这就是为什么我首先尝试覆盖它。无论如何,我至少应该期望 rightMouseDown: 被调用......

相关:AppKit 似乎无法将 Ctrl+Click 识别为鼠标右键单击。大概我必须检查 mouseDown: 中的这种情况并手动调用 rightMouseDown: 。但考虑到我所看到的奇怪现象,还有其他方法吗?

最佳答案

您是否在子类中包含了 -(NSView *)hitTest:(NSPoint)aPoint 方法?鼠标事件可能被 View 中的另一个元素拾取,这会阻止 menuForEvent 被调用。

您认为应该自动调用 menuForEvent 是正确的。

关于objective-c - 鼠标右键按下 : not called in NSControl subclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com