Question

J'ai une liste d'applications et je voudrais faire une NSPopupButton qui affiche un menu de noms d'applications avec leur icône à gauche de chaque élément.

Je suis en mesure de lier le NSPopupButton à mon éventail d'articles, mais il n'y a pas d'entrée obligatoire pour une image. Je pensais que je pouvais mettre une cellule là-dedans et lier la cellule comme une image et sous forme de texte, mais je ne peux pas trouver une cellule appropriée dans IB.

Y at-il une manière propre et simple de le faire en utilisant les liaisons? Est-ce que je dois écrire une cellule personnalisée?

Était-ce utile?

La solution

Il n'y a aucun moyen de lier les images ainsi que les titres des éléments de menu à l'aide d'un stock NSPopUpButton. Vous devrez sous-classe et écrire un IBPlugin pour exposer la sous-classe. Et, bien sûr, vous devez gérer la cellule ainsi.

Je l'ai trouvé avec le mélange Manchettes NSPopUpButton être un sac de mal pour diverses raisons, y compris l'impossibilité de séparateurs et des éléments de menu hors modèle tels que « par défaut » ou « All ». Pensez à utiliser un contrôle différent, par exemple une liste des sources, ou le remplissage et repeupler le menu contextuel manuellement.

Autres conseils

NSMenuItem a l'image de liaison (dans la section "Paramètres" waaaaaayyyyy vers le bas). Je pense donc que vous devez lier cette valeur à un chemin dans votre gamme d'applications en cours d'exécution. Vous pouvez obtenir une icône pour votre application en utilisant des objets partagés de NSWorkspace.

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