Petites questions de grand débutant
adriker -apple-news.fr-
Membre
Bonjour à tous.
Voilà , depuis deux mois j'apprends l'objective C/Cocoa. Pour m'améliorer, j'ai décidé de me lancer dans un petit projet. J'ai juste quelques petites questions :
1. Comment changer le nom du menu en haut. Je n'arrive pas à le changer, ça reste le nom de mon projet. (Oui, je sais, je suis un noob).
2. Une fois mon application fermée, j'aimerais quelle disparaisse du dock, or elle y reste. Il faut alors faire clique droit, quitter l'application. Comment faire pour changer cela ?
Merci pour aide !
Voilà , depuis deux mois j'apprends l'objective C/Cocoa. Pour m'améliorer, j'ai décidé de me lancer dans un petit projet. J'ai juste quelques petites questions :
1. Comment changer le nom du menu en haut. Je n'arrive pas à le changer, ça reste le nom de mon projet. (Oui, je sais, je suis un noob).
2. Une fois mon application fermée, j'aimerais quelle disparaisse du dock, or elle y reste. Il faut alors faire clique droit, quitter l'application. Comment faire pour changer cela ?
Merci pour aide !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je te renvoie vers ce topic.
En gros, ce nom est celui de l'exécutable, et donc par défaut celui du projet XCode.
Tu peux changer le nom de l'exécutable en modifiant le plist. Voir les message du topic donné.
Par application fermée, si tu entends "fermeture la dernière fenêtre", alors ça ne ferme pas l'appli.
Celle ci se ferme passant par la menu application, item Quitter (ou par clavier POMME Q).
Toutefois, il existe un delegate de NSApplication qui permet de faire quitter l'appli automatiquement lorsque la dernière fenêtre est fermée : c'est applicationShouldTerminateAfterLastWindowClosed:.
2. Qu'appelles-tu <fermer l'application> ? Si ça veut dire fermer toutes les fenêtres alors tu as le comportement normal.
Si tu veux quitter quand il n'y a plus de fenêtre, ajoute ceci à ton NSWindowController:
Edit: Grillé par No.
L'intérêt ? Ca force les LaunchServices à réanalyser le plist à l'intérieur de l'application à prendre en compte les modifications de clés que tu as faites dedans.
Parfois c'est juste ça... il a en mémoire les anciennes valeurs donc t'as l'impression que tes changements ne font rien
J'ai une nouvelle question, où modifier le texte qui est affiché dans "a propos de" dans le menu de l'application ?
Cela se fait dans IB.
Ouvre depuis XCode le mainMenu.nib qui est dans ton projet.
Dans IB, cherche puis ouvre le MainMenu.
A partir de là , tu peux tout modifier : les intitulés, mais aussi toutes les propréités des items de menu via l'inspecteur.
Cet article de menu appelle par défaut orderFrontStandardAboutPanel sur ton application, qui affiche la fenêtre d'à -propos par défaut
En fait cette fenêtre a un design par défaut, mais tu peux changer les textes affichés, en particulier le nom de la "compagnie" (copyright) et la version, ainsi que l'icône affichée dans cette AboutBox... Mais aussi un texte de "Credits". Il suffit pour cela de renseigner correctement les clés correspondantes dans le Info.plist (voire InfoPlist.strings pour sa version localisée/traduite) pour indiquer les valeurs voulues. Tout est expliqué dans la doc de [tt]orderFrontStandardAboutPanelWithOptions:[/tt] pour savoir quelles clés de l'Info.plist sont utilisées.
Sinon, si tu veux complètement personnaliser la fenêtre affichée par cet article, tu peux aussi créer ta propre NSWindow avec ce que tu veux dedans (dans IB) et relier l'article de menu "About MonApplication" à l'action "orderFront:" de cette NSWindow (en faisant la connexion dans IB avec ctrl-glisser de l'article de menu vers la NSWindow)...
Il s'apelle credits.rtf il me semble.
Consulte aussi :
C'est à dire ?
Tu essayes peut-être d'ouvrir un objet (ta fenêtre) détruit ???
Car si c'est le cas, à la première fermeture, la fenêtre sera détruite, et son réaffichage provoquera un plantage.
J'ai maintenant fini mon application, je vous laisse l'essayer à l'adresse suivante : http://www.apple-news.fr/?p=1590 .
Il s'agit bien sûr de ma première application Mac, une application simple.
Qu'en pensez-vous ?
Sinon, n'oublie pas de le gérer aussi pour les femmes, car là c'est différent.
Je compte la développer un maximum, pour m'améliorer !
Ho OK je savais pas
Je suis d'accord sur ce point là ....
Et pour une appli n'utilisant sans doute rien de spécifique 10.4, c'est dommage de ne pas pouvoir la lancer sous 10.3.
mais cela n'a aucun effet. Quelque chose a changé dans Cocoa depuis?
Non, ça n'a pas changé... Il faut toujours mettre ce code dans le delegate de l'application.
C'est quoi le delegate de l'application? Où le trouve-t-on?
Ou alors dans le code "[NSApp setDelegate:...]";
On peut mettre du code dans IB? ???
Non, c'était l'alternative code...pas dans IB
Ha d'accord mais ça devrait fonctionner, non?
Et pour réaliser la liaison sous IB, comment s'y prendre? Il faut partir de quoi pour aller vers quoi et choisir quoi?