初心者質問:Swift 3/macOS:特定の画面でウィンドウを開く
私は現在のXcode 8.3.3とSwift3でmacOSアプリケーションを開発しています。私は起動時に隠されたショートカットでウィンドウを開くためにMASShortcutを使用しています。
私はショートカットイベントに次のコードを使用します。
NSApplication.shared().windows.last!.makeKeyAndOrderFront(nil)
NSApplication.shared().activate(ignoringOtherApps: true)
複数のモニタのセットアップ(私は私のMacBookに取り付けられた2台の外部ディスプレイを持っている)、私は窓がポップアップ画面を指定するため。 NSScreen.screens()が利用可能なすべての画面を返すことを知っています。しかし、私は画面を1/2/3でポップアップさせるためにどのように使っていますか?
ありがとうございます! @マイケル・doltermannの答えを解決:
編集例えばMIDX/midYはcoordsの
私はNSScreen.screensを反復処理することができます()とアクセスが私の窓を交換するNSPointインスタンスを作成します。 NSScreen.screens()
から
var pos = NSPoint()
pos.x = NSScreen.screens()![myIndex].visibleFrame.midX)
pos.y = NSScreen.screens()![myIndex].visibleFrame.midY)
self.window?.setFrameOrigin(pos)
ありがとうございました! 私はそれを持っています。 私はNSScreen.screens()を繰り返して、midX/midY座標にアクセスして、私のウィンドウを置き換えるNSPointインスタンスを作成することができます。 VaRのPOS = NSPoint() pos.x = NSScreen.screens()![myIndex] .visibleFrame.midX) pos.y = NSScreen.screens()![myIndex] .visibleFrame.midY) self.window ?.setFrameOrigin(pos) – Kim