Cocoa 在屏幕上获取鼠标位置

Cocoa 在屏幕上获取鼠标位置,cocoa,Cocoa,我有下面的代码来获取屏幕上的鼠标位置: NSPoint loc = [NSEvent mouseLocation]; NSLog(@"x:%.2f y:%.2f",loc.x, loc.y); 当我点击我的应用程序窗口时,我设置了一个动作,在这里我可以跟踪这个动作。 但是,令我惊讶的是,无论我在哪里单击窗口,它都或多或少地给出了相同的值。但我在屏幕上的不同位置移动了窗口 结果如下: 2012-07-31 12:50:08.740 MyApp[2860:d03]x:432.19

我有下面的代码来获取屏幕上的鼠标位置:

    NSPoint loc = [NSEvent mouseLocation];
    NSLog(@"x:%.2f y:%.2f",loc.x, loc.y);
当我点击我的应用程序窗口时,我设置了一个动作,在这里我可以跟踪这个动作。 但是,令我惊讶的是,无论我在哪里单击窗口,它都或多或少地给出了相同的值。但我在屏幕上的不同位置移动了窗口

结果如下:

2012-07-31 12:50:08.740 MyApp[2860:d03]x:432.19 y:450.07(当窗口位于屏幕顶部时)
2012-07-31 12:50:19.042 MyApp[2860:d03]x:435.14 y:453.16(当窗口位于屏幕底部时)

您是否尝试过
[NSEvent locationInWindow]
,请参阅?此代码在哪个类和方法中?@特洛伊木马:它是nsview@waldrumps:locationInWindow是当前窗口的w.r.t。我的查询是w.r.t屏幕…您的代码位于哪个方法?位置信息在鼠标事件方法之外未定义,例如
mouseDown: