释放时需要获取鼠标指针的位置

时间:2014-02-04 07:05:45

标签: xcode cocoa ikimageview

我正在使用IKImageView来实现Image的功能。

- (IBAction)switchToolMode: (id)sender
{
    // switch the tool mode...

    NSInteger newTool;

    if ([sender isKindOfClass: [NSSegmentedControl class]])
        newTool = [sender selectedSegment];
    else
        newTool = [sender tag];

    switch (newTool)
    {
        case 0:
            [_imageView setCurrentToolMode: IKToolModeMove];
            break;
        case 1:
            [_imageView setCurrentToolMode: IKToolModeSelect];
            break;
        case 2:
            [_imageView setCurrentToolMode: IKToolModeCrop];
            break;
        case 3:
            [_imageView setCurrentToolMode: IKToolModeRotate];
            break;
        case 4:
            [_imageView setCurrentToolMode: IKToolModeAnnotate];
            break;

    }
}

[_imageView setCurrentToolMode: IKToolModeAnnotate];调用i后需要获取当前鼠标位置(绘制形状后)。 IKToolModeAnnotate是默认函数,因此我无法找到控件下一步的位置。

任何人都可以解决我的问题。

1 个答案:

答案 0 :(得分:1)

NSApplication,您始终可以通过调用[NSApp currentEvent]获取最后一个当前事件。从那里你可以提取鼠标位置。

或者,您可以通过[NSWindow mouseLocationOutsideOfEventStream]获取该位置。我建议您阅读NSEvent,以便了解这些位置之间的差异,即用于该点的坐标系。 See also NSEvent documentation