0

在我的应用程序中有一个奇怪的问题,即当窗口在屏幕上拖动时,自定义NSView接收转发的 mouseDragged 事件,通常是通过其工具栏。

从堆栈跟踪看来,Cocoa 框架是自行完成的。
(可能是通常的响应者链)

现在我正在尝试检测拖动事件是来自我的视图还是来自其他地方 -是否有任何强大的方法可以做到这一点?

我找不到可以存储发生鼠标按下的视图的公共成员(尽管NSEvent似乎将其内部存储在私有字段中)。

或者任何配置窗口不转发拖动消息的选项?

任何提示表示赞赏!

4

1 回答 1

0

NSEventhas以 .locationInWindow形式返回事件发生的位置NSPoint。与NSPointInRect您一起检查该位置是否在您的窗框或类似位置。

于 2015-01-29T16:34:09.817 回答