BKN*_*BKN 5 macos cocoa nssegmentedcontrol
在我的COCOA Mac应用程序中,有一个NSSegmentedControl按钮用于队列ON/OFF功能.现在我需要为它提供键盘快捷键.例如,对于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
Run Code Online (Sandbox Code Playgroud)
我通过界面生成器将名为PMViewController的视图控制器添加到 Window 类 PMWindow。在此示例中,我对击键< 向左箭头 > (123) 和< 向右箭头 > (124) 做出反应。
为了本示例的完整性,我在此处添加了当有人点击 NSSegmentedControl 元素的单元格时调用的方法的实现:
- (IBAction)lastOrNext:(id)sender {
switch ([sender selectedSegment]) {
case 0:
[self last];
break;
case 1:
[self next];
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
360 次 |
最近记录: |