私のCOCOAMacアプリケーションには、キューのオン/オフ機能用のNSSegmentedControlボタンが1つあります。今、私は同じためのキーボードショートカットを提供する必要があります。たとえば、キューがオンの場合、すでにオフになっている場合はオフになり、その逆も同様です。
このタイプの機能を実行した人はいますか?
よろしく、バルン
私のCOCOAMacアプリケーションには、キューのオン/オフ機能用のNSSegmentedControlボタンが1つあります。今、私は同じためのキーボードショートカットを提供する必要があります。たとえば、キューがオンの場合、すでにオフになっている場合はオフになり、その逆も同様です。
このタイプの機能を実行した人はいますか?
よろしく、バルン
インターフェイスビルダーを介して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;
}
}