Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在superview上获取鼠标按下事件_Objective C_Cocoa_Subview_Superview_Mousedown - Fatal编程技术网

Objective c 在superview上获取鼠标按下事件

Objective c 在superview上获取鼠标按下事件,objective-c,cocoa,subview,superview,mousedown,Objective C,Cocoa,Subview,Superview,Mousedown,我有一个NSScrollView,它的文档视图是一个名为MasterPage的NSView子视图。在母版页上,我有一堆子视图(取决于用户输入)(来自一个名为Page的类),它们以网格格式排列。我正试图捕捉母版页上鼠标点击的n点。它适用于没有子视图的情况,但如果单击的点位于子视图的区域内,则superview不会注册它。有办法做到这一点吗?我希望这是有道理的 红色区域在superview的.m文件中注册鼠标单击。这四个子视图没有 在母版页类中,您可以重写NSView的方法,让它返回self,而不是

我有一个
NSScrollView
,它的文档视图是一个名为MasterPage的
NSView
子视图。在母版页上,我有一堆子视图(取决于用户输入)(来自一个名为Page的类),它们以网格格式排列。我正试图捕捉母版页上鼠标点击的
n点
。它适用于没有子视图的情况,但如果单击的点位于子视图的区域内,则superview不会注册它。有办法做到这一点吗?我希望这是有道理的

红色区域在superview的.m文件中注册鼠标单击。这四个子视图没有


母版页
类中,您可以重写
NSView的
方法,让它返回
self
,而不是
页面
子视图中的一个。看

在这个示例项目中,您可以查看日志记录调用,以查看
NSView
接收事件的内容。如果按住Alt/Option键并单击,白色视图将覆盖
-hitTest:
并返回自身,从而阻止灰色视图接收事件