Bouton, entourage bleu
tablier
Membre
Je reprends un vieux programme en Objective-C.
En haut de la fenêtre principale, j'ai ce qui est sur l'image ci-dessous.
L'entourage bleu du bouton devrait marquer le bouton qui a le focus (vrai?)
je peux cliquer n'importe lequel des deux boutons, c'est toujours le bouton extraction qui reste illuminé en bleu! Je n'arrive pas non plus à supprimer cette illumination bleu.
Sur StackOverflow j'ai trouvé ça qui ne marche pas ici:
button {
outline: none; // this one
}
J'ai remplacé button par l'outlet qui le pointe bien sur.
Y a-t-il une solution pour supprimer ce halo irritant.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ouais, je vais regarder.
j'ai vérifié que le bouton par défaut pour CR est le bouton Ok en bas de la fenêtre et les deux boutons du haut n'ont pas de ShortCutKey. Donc ce n'est pas ça.
Intuition: en me baladant dans Xcode, j'ai vu que l'entourage bleu change d'objet avec la touche escape. Il faut que je trouve sous Xcode 6.4 comment on définit la chaine des objets soumis à la touche escape et que je modifie cette chaà®ne pour qu'elle ne comporte que le bouton Ok à la place du bouton extraction.
Je savais faire ça sous Xcode 4, Mais j'ai oublié !
Faut que j'aille voir ça !
J'ai actuellement ce problème sur mon appli. Dans mon cas, et j'imagine que dans le tien, c'est pareil, j'ai mis un NSButton à l'intérieur d'un NSToolbarItem. Or, parfois, (mais pas systématiquement) le focus est donné à ce NSButton; il devient First Responder.
J'ai essayé un tas de méthodes pour résoudre ce problème, et la seule qui fonctionne est de sous-classer NSButton:
Note que je ne suis pas sorti d'affaire pour autant, il semble que la fenêtre devient inactive du coup, et même la cliquer ne la réactive pas.
Pour ceux qui en doutent, les bugs de Yosemite ne sont pas une légende.
Pour moi, le bouton est dans la fenêtre, je n'ai pas utilisé de NSToolbar. Point particulier à chaque clic je change l'image et le titre de ce bouton. J'ai essayé diverses choses, rien ne marche !
Je ne comprends pas, ta copie d'écran utilise clairement une toolbar, non ?
Non, pas de ToolBar. pour être plus explicite j'ai fait une copie d'écran dans l'éditeur en enlevant le texturage. Dans la box centrale je mets un NSView qui dépend de l'état des boutons (évidemment!)
Le dessin original date de Xcode 2.5 !
Ah bah oui alors c'est logique...
ça vaut aussi pour Céroce d'ailleurs.
Même si dans ton cas je me demanderai d'abord si mettre un NSButton dans un NSToolbarItem vu qu'il est sensé agir comme tel...
Pas le choix, Apple n'a pas pensé qu'on voudrait présenter un NSPopover depuis un NSToolbarItem.
Cela parait marcher pour moi. Plus d'entourage bleu, et les boutons fonctionnent dans la fenêtre principale et dans les NSView incluses.
Mon dernier essai: J'ai supprimé tous les [button setFocusRingType:...] et, pour tous les boutons sauf le bouton OK, dans les attributs j'ai validé "Refuses First Respondeur". L'entourage bleu est maintenant autour du bouton Ok dont le "key equivalent" est la touche CR.
Cela parait compréhensible comme interface ! Par contre, pourquoi la touche Ok n'est pas totalement bleu, mystère et boule de gomme.
Le programme (certainement buggué), juste pour montrer le GUI obtenu: