2017-01-23 8 views
1

以下のステートメントは、アプリケーションウィンドウ内のすべてのクリックをキャプチャしますが、私のアプリのメニューバーのクリックをキャプチャしません。私もいないときのウィンドウで、NSEventlocationInWindowプロパティと一緒にglobalMonitorは、クリックの出力座標に見えた使用して、また私にとってaddGlobalMonitorForEvents私のmacOSアプリケーションのメニューバーでのキャプチャクリック

NSEvent.addLocalMonitorForEvents(matching: .leftMouseDown , handler: { 
      (mouseEvent:NSEvent?) in .... 
+0

監視するメニューバーがアプリケーションに属している場合は、オブザーバーを使用します。 –

+0

@El Tomato:どのようなオブザーバー? – Kashif

答えて

1

を使用して私のアプリのメニューバーのクリックをキャプチャすることができませんアプリ。ここに私の実装です:サイドノートとして

NSEvent.addGlobalMonitorForEvents(matching: .leftMouseDown) { event in 
    print(event.locationInWindow) 
} 
  • 、クリックすると、右上
  • で私の画面の(幅、高さ)に自分の画面の左下に(0,0)から行く座標
+0

フォーカスがあるウィンドウが自分のアプリケーションのウィンドウで、メニューバーをクリックすると、グローバルイベントが呼び出されません。 – Kashif

関連する問題