在我的COCOA Mac应用程序中,有一个NSSegmentedControl按钮用于队列的开/关功能。现在我需要为相同的功能提供键盘快捷键。例如,如果队列处于关闭状态,则启用队列,反之亦然。
是否有人实现过这种功能?
谢谢和问候, Barun
是否有人实现过这种功能?
谢谢和问候, Barun
由于我无法通过界面构建器为NSSegmentedControl添加键盘绑定,所以我通过编程的方式实现它。我创建了一个名为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,添加到Window类PMWindow中。在此示例中,我对按键< left arrow >(123)和< right arrow >(124)做出反应。
为了完整起见,在此处添加了一个方法的实现,该方法在有人点击我的NSSegmentedControl元素的单元格时被调用:
- (IBAction)lastOrNext:(id)sender {
switch ([sender selectedSegment]) {
case 0:
[self last];
break;
case 1:
[self next];
break;
}
}