<現状>
一度ボタンをクリックすれば,次から⌘+Lでボタンを押せます.
<したいこと>
senderで始まる2行をviewDidLoad()の中に書けば最初からコマンドか機能するのではないかと考えました.
###今のコード
swift
1 @IBAction func listenButton(_ sender: NSButton) { 2 sender.keyEquivalent = "l" 3 sender.keyEquivalentModifierMask = NSEvent.ModifierFlags(rawValue: NSEvent.ModifierFlags.RawValue(Int((NSEvent.ModifierFlags.command).rawValue))) 4 ////////hogehoge/////// 5 }
###エラーが出るコード
swift
1 @IBAction func listenButton(_ sender: NSButton) { 2 ////////hogehoge/////// 3 } 4 override func viewDidLoad() 5 { 6 super.viewDidLoad() 7 listenButton.keyEquivalent = "l" 8 listenButton.keyEquivalentModifierMask = NSEvent.ModifierFlags(rawValue: NSEvent.ModifierFlags.RawValue(Int((NSEvent.ModifierFlags.command).rawValue))) 9}
エラー内容は
Value of type '(NSButton) -> ()' has no member 'keyEquivalent'
です.なぜsenderではエラーが出ないのにlistenButtonの外に出すとエラーが出るのでしょうか?
よろしくお願いします!
<環境>
macOS : High Sierra
Xcode : 9.4.1
swift : 4.1.2
回答2件
あなたの回答
tips
プレビュー