11
votes

Fermeture de l'application MAC (en cliquant sur la croix rouge sur le dessus) et de la réouverture en cliquant sur l'icône du dock

Quand je ferme mon application Mac (en cliquant sur le bouton croix rouge sur la barre supérieure de la fenêtre) l'application icône reste dans le dock en bas. Maintenant, ce comportement est normal. Lorsque l'utilisateur clique sur elle à nouveau, il ne se déclenche pas l'application à moins que l'utilisateur quitte l'application tout à fait nouveau et relance.

Un exemple similaire sur Mac OS X est « Moniteur d'activité ». Vous pouvez fermer l'application en cliquant sur le bouton croix rouge en haut, mais le quai icône reste. L'utilisateur peut ouvrir de nouveau en cliquant sur l'icône du dock.

Comment puis-je obtenir dans ma propre application?


0 commentaires

3 Réponses :


3
votes

Implémentez la méthode xxx pré>

dans votre délégué de votre application p>

Votre application sera suspendue après la fermeture de la fenêtre, puis si vous implémentez P>

- (void)applicationDidBecomeActive:(NSNotification *)aNotification
{
//dock icon has just been clicked , or cmd-tabbed into
}


1 commentaires

Il disait que dans ApplicationDididbecomomeactive, vous pouvez voir si l'application est sans fenêtre et s'il est, ouvrez une nouvelle fenêtre vierge (ou similaire).



21
votes

Si vous êtes toujours préoccupé à la réouverture de la fenêtre que vous avez fermée, utilisez cette méthode:

func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
    if !flag{
        window.makeKeyAndOrderFront(nil)
    }
    return true
}


0 commentaires

1
votes

Je pense que les réponses ci-dessus ne sont pas complètement correctes, pour y parvenir, vous devriez remplacer ApplicationsHouldLeopen (_: hasvevisiblewindows :) https://developer.apple.com/reference/appkit/nsaplicationDelegate/1428638-ApplicationsHouldHandleEopen


0 commentaires