gpt4 book ai didi

objective-c - 从 addLocalMonitorForEventsMatchingMask 返回 nil : block doesn't suppress events

转载 作者:行者123 更新时间:2023-12-03 16:32:50 24 4
gpt4 key购买 nike

以下代码不会抑制我的应用程序中的鼠标拖动:

[NSEvent addLocalMonitorForEventsMatchingMask:NSLeftMouseDraggedMask handler:^(NSEvent *event) {
return (NSEvent *)nil;
}];

我仍然可以在应用程序内拖动 UI 元素。据我所知,如果您在 block 内返回 nil ,该事件将不会被分派(dispatch)到应用程序。我错过了什么?

最佳答案

我不太确定“拖动 UI 元素”是什么意思,但我怀疑 the docs 中的这条注释:

Your handler will not be called for events that are consumed by nested event-tracking loops such as control tracking, menu tracking, or window dragging...

是解释。各种 NSResponder 子类,例如单击按钮时,输入 "private tracking loop"他们抓取所有事件,直到收到一个结束循环的特定事件。

您应该在该 block 内放置一条日志语句,并确保您确实在预期时收到了传入的事件。

关于objective-c - 从 addLocalMonitorForEventsMatchingMask 返回 nil : block doesn't suppress events,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com