objective-c - 为非子类 NSButton 分配单击和双击事件[如果重复,请回答此问题]

标签 objective-c macos cocoa nsbutton

如何在 cocoa 中为具有两个单独功能的 NSButton 分配单击和双击事件(无需子类化按钮)

最佳答案

NSApplication 可以为给定的选择器提供一个 NSEvent。因此,只需修改您希望添加双击逻辑的方法即可支持该事件,并使用其 clickCount 属性来响应任意数量的连续点击,如下所示:

- (void)someMethod:(id)sender {
    NSEvent *event = [NSApp currentEvent];
    switch (event.clickCount) {
        case 1:
            //Handle a single click
            break;
        case 2:
            //Handle a double click
            break;
        default:
            break;
    }
}

关于objective-c - 为非子类 NSButton 分配单击和双击事件[如果重复,请回答此问题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16806005/

相关文章:

objective-c - 通过蓝牙发送文件

ios - 无法使用 Objective-C 调用号码

OSX 的 Python evdev 等价物

c++ - OSX Xcode 6 上的 OpenGL 4.1 设置困难

iphone - NSPredicate 过滤空格和字母数字

cocoa - 自动释放的对象总是在整个方法中存活下来吗?

objective-c - Objective C - 将字符串拆分为数组

macos - 使用 Applescript 在 Excel 2011 中查找和替换

ios - 不是目录@rb_sysopen -/usr/local/bin/fuzzy_match

ios - Obj-C 在主视图 Controller 中启动应用程序时崩溃