Question

Je suis en train de déterminer quand un NSOpenPanel ferme avant qu'elle ne ferme réellement. Je dois faire ce que je puisse superposer une autre fenêtre avec une capture d'écran du panneau ouvert sur le dessus de celui-ci à animer. Malheureusement, toutes les notifications que vous semblez être en mesure d'accéder semblent tirer après la fenêtre a déjà été fermé. Cela conduit à un bégaiement discordante avant de commencer votre transition.

J'ai essayé:
- en utilisant des méthodes de délégué NSWindow sur le panneau ouvert (apparemment, aucune des méthodes de travail délégué NSWindow)
- Panneau de surveillance: userEnteredFilename: confirmé: (non appelé)
- montrant la boîte de dialogue avec un rappel (callback se produit après que le panneau disparaît)

Était-ce utile?

La solution 2

Une autre façon de gérer cela est de regarder à travers les sous-vues de NSOpenPanel pour le bouton Annuler et vous échanger en tant que cible / action. C'est ce que je fini par faire.

Autres conseils

Vous devez enregistrer votre contrôleur en tant que délégué du panneau ouvert, puis mettre en œuvre la méthode de délégué -panel:isValidFilename:. Cette méthode sera appelée juste avant que la boîte de dialogue ouverte se ferme.

Vous devez retourner YES de la méthode si vous voulez juste la notification. De retour NO vous permet d'empêcher la boîte de dialogue ouverte de fermeture.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top