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