Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos COCOA Mac应用程序中NSSegmentedControl按钮的键盘快捷键_Macos_Cocoa_Nssegmentedcontrol - Fatal编程技术网

Macos COCOA Mac应用程序中NSSegmentedControl按钮的键盘快捷键

Macos COCOA Mac应用程序中NSSegmentedControl按钮的键盘快捷键,macos,cocoa,nssegmentedcontrol,Macos,Cocoa,Nssegmentedcontrol,在我的COCOA Mac应用程序中,有一个NSSegmentedControl按钮用于队列开/关功能。现在我需要提供相同的快捷键。例如,如果队列已关闭,则为“打开”,反之亦然 有人做过这种功能吗 感谢和问候, Barun因为我没有找到通过接口生成器将键盘绑定添加到NSSegmentedControl的方法,所以我以编程的方式添加了id。我创建了一个名为PMWindow的自定义窗口类: @implementation PMWindow - (BOOL)acceptsFirstResponder

在我的COCOA Mac应用程序中,有一个NSSegmentedControl按钮用于队列开/关功能。现在我需要提供相同的快捷键。例如,如果队列已关闭,则为“打开”,反之亦然

有人做过这种功能吗

感谢和问候,
Barun

因为我没有找到通过接口生成器将键盘绑定添加到NSSegmentedControl的方法,所以我以编程的方式添加了id。我创建了一个名为PMWindow的自定义窗口类:

@implementation PMWindow

- (BOOL)acceptsFirstResponder {
    return YES;
}

- (void)keyDown:(NSEvent *)theEvent {
    if([self.viewController.lastNextControl isEnabled]) {
        if([theEvent keyCode] == 123) {
            [self.viewController last];
        } else if([theEvent keyCode] == 124) {
            [self.viewController next];
        }
    }
}

@end
我通过界面生成器将名为PMViewController的视图控制器添加到窗口类PMWindow中。在这个例子中,我对按键的反应是左箭头(123)和右箭头(124)

为了完整起见,我在这里添加了方法的实现,当有人点击我的NSSegmentedControl元素的单元格时,会调用该方法:

- (IBAction)lastOrNext:(id)sender {
    switch ([sender selectedSegment]) {
        case 0:
            [self last];
            break;
        case 1:
            [self next];
            break;
    }
}