2016-11-24 1 views
1

cmd + qでアプリを終了したい。どのように私はこれをトリガーできますか?Swiftでcmd + qを処理する

NSApplication.shared().terminate(self) 

どのように私はボタンを押しを得ることができます: はこれを実行する必要がありますか?

+1

のCocoaアプリ:あなたはIBActionに次MainWindowControllerで(XYZは、アプリの名前です)「終了XYZ」ボタンを接続して取得する必要がありますか?あなたの文脈についての詳細を加えてください。 – Moritz

+0

ボタン、テーブル、行などを含むGUIです。明確にするために何か必要なものがありますか? – Jakob

+2

'MainMenu.xib'を削除しましたか? MainMenuを持つすべてのCocoaアプリは自動的にCMD + Qを捕捉し、Quit信号を送信するためです。または、キープレスを傍受しているかもしれませんか? Vadianがあなたの問題についての明確な説明がなければ助けが難しいと言っていたので、もっと詳細を教えてください:) – Moritz

答えて

1

QuitNSMenuItemのアクションをFirst Responder(赤い立方体)>terminate:に接続し、keyコマンドを割り当てます。

+0

私はキーコマンドが必要です、私はこれで働いたことはありません。 – Jakob

+1

あなたはなぜアプリの種類を使用していますか?キーコマンドは、アプリケーションがアクティブ(最前面)の場合にのみ機能します。 – vadian

+0

それは私のために論理的に聞こえる。アプリはフォアグラウンドで実行されています。 – Jakob

0

Interface Builder内のMainMenu.xibファイルが非表示になっていました。 GUI、またはコマンドラインアプリで

// Kill app when cmd + q has been pressed. 
@IBAction func termianteApp(_ sender: Any) { 
    NSApplication.shared().terminate(self) 

} 
関連する問題