首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSView NSMenuItem becomeFirstResponder中创建自定义becomeFirstResponder?

如何在NSView NSMenuItem becomeFirstResponder中创建自定义becomeFirstResponder?
EN

Stack Overflow用户
提问于 2015-10-23 14:13:15
回答 2查看 569关注 0票数 1

我在NSMenuItem (附加到MenuBar)中有一个响应mouseDown事件的自定义mouseDown。但是我需要在自定义视图上点击两次才能调用mouseDown函数,这是因为定制视图应该是第一个响应器。当我按照Cocoa处理指南的指示在我的acceptsFirstResponder控制器中重写CustomView方法时,它不起作用。解决办法是什么?是可行的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-23 16:06:22

重写NSView方法acceptsFirstMouse:以返回有关事件的YES。如果只想接受某些类型的事件的第一次鼠标单击,可以通过检查传入的事件参数来完成这一操作。除非NSMenuItem的情况有什么特别之处,否则这应该是您想要的;它是这方面的标准Cocoa机制。请注意,此方法与您尝试过的acceptsFirstResponder方法不同。详情请参阅苹果公司的文档。

票数 2
EN

Stack Overflow用户

发布于 2015-10-23 21:00:16

作为参考,我刚刚在我的自定义视图中添加了以下内容:

代码语言:javascript
复制
- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent {
    return YES;
}     
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33304496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档