我在NSMenuItem (附加到MenuBar)中有一个响应mouseDown事件的自定义mouseDown。但是我需要在自定义视图上点击两次才能调用mouseDown函数,这是因为定制视图应该是第一个响应器。当我按照Cocoa处理指南的指示在我的acceptsFirstResponder控制器中重写CustomView方法时,它不起作用。解决办法是什么?是可行的吗?
发布于 2015-10-23 16:06:22
重写NSView方法acceptsFirstMouse:以返回有关事件的YES。如果只想接受某些类型的事件的第一次鼠标单击,可以通过检查传入的事件参数来完成这一操作。除非NSMenuItem的情况有什么特别之处,否则这应该是您想要的;它是这方面的标准Cocoa机制。请注意,此方法与您尝试过的acceptsFirstResponder方法不同。详情请参阅苹果公司的文档。
发布于 2015-10-23 21:00:16
作为参考,我刚刚在我的自定义视图中添加了以下内容:
- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent {
return YES;
} https://stackoverflow.com/questions/33304496
复制相似问题