macos - 响应堆叠 View 中的 mouseMove 事件

标签 macos cocoa

我有一个窗口(NSWindow),上面有一系列 View 。这些 View 之一接受 mouseMove 事件。我希望能够用鼠标在两个不同 View 之间连接一条线。因此,我所做的是创建一个覆盖整个窗口的更大 View ,并在该 View 中绘制线条。这工作得很好。

问题是,如果我允许较大的重叠 View 接受 mouseMove 事件,以便线条跟随光标,那么我的可见 View 将停止接收 mouseMove 事件。这是一个问题,因为我希望当鼠标悬停在某些对象上时,某些对象在底层 View 上“点亮”,并且我在该 View 的 mouseMove 方法中执行此操作。

如何在不可见的重叠 View 和下面的可见 View 中调用 mouseMove 方法?

最佳答案

检查您使用哪些选项来初始化 NSTrackingArea... 如果我没记错的话,无论您是否是第一响应者,您都应该能够使用 NSTrackingActiveAlways 并获取鼠标事件。如果您的 View 堆叠起来并不重要,只要它们注册自己的跟踪区域,它们就应该接收事件...

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSTrackingArea_class/Reference/Reference.html

关于macos - 响应堆叠 View 中的 mouseMove 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8138801/

相关文章:

macos - iTerm2 - 无法显示 unicode 字符

macos - 卸载时清理 LaunchAgents

ios - iOS 应用程序生成的 .CSV 文件在 Windows 中不可读

objective-c - 如何在不子类化的情况下将成员变量和方法添加到内置类中

cocoa - 如何在 iPhone 上获取 cocoa 中的 http

macos - NSFileManager 'copyItemAtPath:' 创建隔离文件副本

c++ - 在 Mac OS X 上使用 gperftools 的问题

cocoa-touch - NSImage 的 ressizedImageWithCapInsets ?

ios - 将 Floats 数组转换为 UnsafePointer<DSPComplex> 数组

iphone - 由于 DNS 查找导致 NSURLConnection 延迟?