precio - como usar la cocoa
¿Cómo llevar NSWindow al frente y al espacio actual? (6)
Estoy usando este código para que aparezca mi ventana:
[self.window makeKeyAndOrderFront:self];
[self.window setOrderedIndex:0];
Pero a menudo estará debajo de otras ventanas o se mostrará en otro escritorio de Space en el que lo abrí por última vez. ¿Cómo hago que siempre aparezca "al frente" para el usuario?
Actualización Encontré la respuesta de la pregunta anterior; hacer que la ventana aparezca en la parte superior de otras ventanas: [NSApp activateIgnoringOtherApps: YES];
Pero, ¿cómo mover la aplicación al espacio actual del usuario?
Pero, ¿cómo mover la aplicación al espacio actual del usuario?
Tu no Los espacios tienen ventanas, no aplicaciones. (Es por eso que la propiedad collectionBehavior
está en NSWindow, no en NSApplication).
Swift 3.0
NSApp.activate (ignorandoOtherApps: true)
La sintaxis parece ser un poco diferente con Swift 2:
NSApplication.sharedApplication().activateIgnoringOtherApps(true)
Para llevar tu aplicación al frente:
[NSApp activateIgnoringOtherApps:YES];
Rápido:
NSApp.activateIgnoringOtherApps(true)
Swift 3:
NSApp.activate(ignoringOtherApps: true)
Quizás quieras:
[self.window setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces];
Experimente con los otros comportamientos de recopilación ... Encontré que NSWindowCollectionBehaviorMoveToActiveSpace
tenía errores en 10.5 pero podría ser mejor ahora.