question Débutant:Swift 3/macOS: Fenêtre ouverte sur certains écran
Je travaille sur une application macOS avec Xcode 8.3.3 actuelle et swift3. J'utilise MASShortcut pour ouvrir une fenêtre par un raccourci qui a été caché par le démarrage.
J'utilise le code suivant sur l'événement raccourci:
NSApplication.shared().windows.last!.makeKeyAndOrderFront(nil)
NSApplication.shared().activate(ignoringOtherApps: true)
Pour plusieurs écrans (j'ai deux écrans externes attachés à mon MacBook), je veux spécifier l'écran où la fenêtre apparaît. Je sais qu'il y a NSScreen.screens() qui restitue tous les écrans disponibles. Mais comment l'utiliser pour laisser ma fenêtre apparaître à l'écran 1/2/3?
Merci beaucoup!
Edit: Résolu avec la réponse de @ michael-doltermann:
je peux itérer sur NSScreen.screens() et l'accès par exemple le MIDX/Midy coords pour créer une instance NSPoint pour remplacer ma fenêtre.
var pos = NSPoint()
pos.x = NSScreen.screens()![myIndex].visibleFrame.midX)
pos.y = NSScreen.screens()![myIndex].visibleFrame.midY)
self.window?.setFrameOrigin(pos)
Merci! Je l'ai eu. Je peux itérer sur NSScreen.screens() et accéder par exemple aux coords midX/midY pour créer une instance NSPoint pour remplacer ma fenêtre. var pos = NSPoint() pos.x = NSScreen.screens()! [MYIndex] .visibleFrame.midX) pos.y = NSScreen.screens()! [MYIndex] .visibleFrame.midY) self.window ? .setFrameOrigin (pos) – Kim