xcode - 需要获取鼠标释放时的位置

标签 xcode cocoa ikimageview

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

- (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];后,我需要获取当前鼠标位置(绘制形状后)。 IKToolModeAnnotate 是默认函数,因此我无法找到控件下一步的位置。

有人能解决我的问题吗

最佳答案

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

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

关于xcode - 需要获取鼠标释放时的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21546043/

相关文章:

xcode - 如何在 Xcode 中查找并替换通配符数字

ios - XCode:我可以用 xcconfig 中的值覆盖 CFBundleVersion 吗?

objective-c - IKImageView 图像更改时的重绘问题

objective-c - IKImageView调整大小问题

ios - Xcode 11 > 安装(刷新)Provisioning Profiles 崩溃

Xcode 5 和共享方案

objective-c - 获取桌面上存在的图标和文件的详细信息及其在桌面上的位置?

objective-c - 使用 Cocoa 在 NSComboBox 中显示文本

iphone - 是否有用于高级日期+时间处理的 cocoa 库?

objective-c - IKImageView 调整大小是 block 状的