有没有办法获得
- (void)beginGestureWithEvent:(NSEvent *)event
和
- (void)endGestureWithEvent:(NSEvent *)event
即使包含窗口在后台,也会调用视图?看来这些调用只有在关键时才会传递给Windows。
答案 0 :(得分:2)
一般没有。在Leopard和SnowLeopard中,手势仅用于前景窗口。正如您所发现的,窗口服务器甚至不会向后台应用程序发送手势事件。
您可以安装事件点按,但这些事件并不完全符合NS等效事项。但是,如果您真的想深入研究,那么所有数据都在那里。
请提交雷达询问这个以及为什么这会有用。
答案 1 :(得分:0)
但这是一个解决方法:
使用选项NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways
...并在mouseEntered:
这是非标准的,但它会起作用。