是否有可能在 cocoa 中有一个点击窗口(如 中_window.ignoreMouseEvents = TRUE
),但仍然找出鼠标在窗口上方点击的时间?或者,不是忽略事件,注册它们,然后以某种方式转发它们,将它们传播到窗口后面的任何东西?
问问题
410 次
1 回答
0
我猜你正在寻找的是 NSView 方法 hitTest。当收到鼠标点击时,在每个视图上调用此方法。
- (NSView*)hitTest:(NSPoint)aPoint
{
return self;
}
返回 self 意味着点击不会转发到下一个子视图。
返回 [super hitTest] 只会将点击转发到视图层次结构的父视图。使用它,您可以简单地注册点击,而不会发生任何其他事情。
所以像:
- (NSView*)hitTest:(NSPoint)aPoint
{
[self propagateEventToNextApplication];
return [super hitTest:aPoint];
}
希望这可以帮助!
于 2013-03-21T13:55:06.070 回答