14

接続されているすべてのディスプレイの利用可能なすべてのスペースにカスタム ウィンドウを表示する OS X アプリケーションに取り組んでいます。[NSScreen screens] を呼び出すことで、使用可能な表示オブジェクトの配列を取得できます。

私が現在欠けているのは、ユーザーがディスプレイをシステムに接続するか、画面をシステムから切断するかを伝える方法です。

私は Cocoa のドキュメントを検索して、そのようなシナリオに対処する通知を探しましたが、システムに接続されているディスプレイの数を変更したときに通知されるシステム通知のようなものはないと信じています。

この問題を解決する方法について何か提案はありますか?

4

2 に答える 2

3

迅速な3.0で:

let nc = NotificationCenter.default
    nc.addObserver(self,
                   selector: #selector(screenDidChange),
                   name: NSNotification.Name.NSApplicationDidChangeScreenParameters,
                   object: nil)

NC コールバック:

final func screenDidChange(notification: NSNotification){
    let userInfo = notification.userInfo
    print(userInfo)
}
于 2016-08-17T07:28:45.673 に答える