在我的 COCOA Mac 应用程序中,有一个用于队列开/关功能的 NSSegmentedControl 按钮。现在我需要提供相同的键盘快捷键。例如,对于 Queue ON,如果它已经是 Off,反之亦然。
有人做过这种功能吗?
谢谢和问候,巴伦
在我的 COCOA Mac 应用程序中,有一个用于队列开/关功能的 NSSegmentedControl 按钮。现在我需要提供相同的键盘快捷键。例如,对于 Queue ON,如果它已经是 Off,反之亦然。
有人做过这种功能吗?
谢谢和问候,巴伦
由于我没有找到通过接口生成器将键盘绑定添加到 NSSegmentedControl 的方法,因此我以编程方式进行了 id 。我创建了一个名为PMWindow的自定义 Window 类:
@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 中。在这个例子中,我对击键<左箭头>(123)和<右箭头>(124)做出反应。
为了这个例子的完整性,我在这里添加了当有人点击我的 NSSegmentedControl 元素的单元格时调用的方法的实现:
- (IBAction)lastOrNext:(id)sender {
switch ([sender selectedSegment]) {
case 0:
[self last];
break;
case 1:
[self next];
break;
}
}