performKeyEquivalent:
キーを押したときに呼ばれます
-(BOOL)performKeyEquivalent:(NSEvent *)anEvent:
func performKeyEquivalent(_ anEvent: NSEvent) -> Bool
解説
キーを押したときに呼ばれます。
マウスクリクした場合は呼ばれません。
サブクラスでオーバーライドして使います。
使用不能ならNOを返します。
フレームワーク
ApplicationKit
クラス
NSButton
使用可能
10.0
編集時のバージョン
10.10
例文
#import "MyButton.h" @implementation MyButton //キーが押されたら呼び出される - (BOOL)performKeyEquivalent:(NSEvent *)key { [self setTitle:[key characters]]; return YES; } @end
class MyButton: NSButton { override func performKeyEquivalent(key: NSEvent) -> Bool { super.performKeyEquivalent(key) NSLog("key PUSH!") return true } }
//NSButton
@IBAction func function019(sender: AnyObject) {
var aWindow : NSWindow
= NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0),
styleMask: NSTitledWindowMask
| NSClosableWindowMask
| NSMiniaturizableWindowMask
| NSResizableWindowMask,
backing: .Buffered,
defer: false,
screen: NSScreen.mainScreen())
windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
aWindow.center()//ウインドウをスクリーンの中心に
aWindow.title = "ウインドウタイトル"//タイトル設定
//
var theButton : MyButton = MyButton(frame: NSMakeRect(50.0, 50.0, 100.0, 30.0))
theButton.title = "Change"
theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle
theButton.action = Selector("buttonAction002:")
theButton.target = self
//コマンド+シフト+「l」でボタンを押したことにする
theButton.keyEquivalent = "l"
theButton.keyEquivalentModifierMask = Int(NSEventModifierFlags.CommandKeyMask.rawValue | NSEventModifierFlags.ShiftKeyMask.rawValue)
theButton.setButtonType(.MomentaryLightButton)
aWindow.contentView.addSubview(theButton)
aWindow.orderFront(self)//前面に
aWindow.makeKeyAndOrderFront(self)//表示
}