我可以使用 [NSEvent mouseLocation]
获取光标的位置,但这会给我屏幕坐标。当光标在 View 中时,如何获取它相对于 View 的坐标?我搜索了 Apple 文档,但找不到答案。
如果它有所作为,我将希望不断检索鼠标位置,因为它将在每个帧更新中使用。
最佳答案
为了完整起见,有一种直接的方法可以获取鼠标在窗口坐标中的位置(使用 NSWindow)。根据您的窗口布局,这可能等同于 View 的坐标。
NSWindow *myWindow;
NSPoint mousePos;
...
mousePos = [myWindow mouseLocationOutsideOfEventStream];
返回的坐标在窗口坐标中,因此如果鼠标位于窗口左侧/下方,则返回负值。如果鼠标位于窗口右侧/上方,则坐标将超出窗口大小。
关于objective-c - 如何在 Mac OS X 中获取相对于窗口的光标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7463958/