2010-10-30 4 views
1

Je fais une application de cacao où j'ai un menu - vous pouvez voir l'image ci-dessous - mais le problème est quand je clique sur une autre option, par exemple; soustraire, multiplier ou diviser, il n'est pas sélectionné. Quel peut être le problème?Les options de menu ne changent pas - cacao

Note: Quand j'ai fait le menu, j'ai vérifié l'option d'état d'ajouter à ON et le reste d'entre eux étaient OFF.

alt text

Répondre

3

Contrairement à des boutons radio, qui sont des cellules dans un NSMatrix, il n'y a pas moyen facile de regrouper un ensemble d'éléments de menu ensemble pour obtenir le bouton radio/fonctionnalité case-groupe. Vous devrez simplement gérer cela vous-même dans la méthode d'action pour tous ces éléments de menu: Définissez l'état de l'élément de menu choisi (l'expéditeur de l'action) sur on et tous ses voisins sur off.

J'espère qu'un menu n'est pas le seul moyen que vous fournissez aux utilisateurs pour changer l'opérateur actif; l'utilisateur devrait au moins avoir des boutons à utiliser aussi, et devrait pouvoir utiliser son clavier s'il en a un. Ne pas oublier de garder les états des éléments du menu et les boutons synchronisés; vous devriez probablement accrocher tous les éléments du menu opérateur et tous les boutons d'opérateur jusqu'à une action, et les mettre à jour tous en réponse à l'un d'entre eux.

Vous pouvez définir des balises pour les boutons et les éléments de menu dans IB et vérifier l'étiquette de l'expéditeur dans votre code afin de dire quel opérateur l'utilisateur a sélectionné.

Questions connexes