Comment puis-je afficher un NSTextField ou un NSProgressIndicator dans un NSMenu? Je cherche à faire quelque chose de similaire au menu de l'icône Spotlight, ou au menu Aide de la plupart des applications.Affichage de contrôles personnalisés/arbitraires dans un menu NSMenu
Répondre
Vous pouvez utiliser la méthode [NSMenu - setView:] pour cela. Mais vous ne pouvez pas ajouter un NSTextField sans hacks majeurs. Apple utilise encore une implémentation de carbone mort cérébrale pour les menus. Si vous voulez des frappes, vous devez descendre dans Carbon et faire un peu de magie pour la manipulation des touches.
C'est tellement pire que vous n'obtiendrez même pas une action de menu si l'utilisateur sélectionne l'élément de menu avec la touche de retour.
Pour cette raison, l'exemple officiel d'Apple affiche simplement un curseur en tant que menu intégré.
Veuillez soulever ce sujet sur la liste de diffusion officielle Apple afin qu'Apple puisse voir que c'est une fonctionnalité recherchée et qu'elle sera corrigée prochainement.
Mieux encore, les bogues de fichiers: https://bugreport.apple.com/ –