Tirer un câble depuis un NSTabViewItem dans IB

ChachaChacha Membre
Salut,

J'aimerais définir le initialFirstResponder des différents NSTabViewItem d'un NSTabView. Sauf que je n'arrive pas à  Control-cliquer pour tirer un câble. Comment faire ?

+
Chacha

Réponses

  • 06:20 modifié #2
    J'ai du mal à  voir ce que tu veux, tu cherches à  sélectionner:
    - le segmented control qui permet de choisir entres les différents éléments;
    - ou à  définir le premier élément qui sera sélectionné quand l'utilisateur  choisit un tab.

    Dans le premier cas, c'est facile tu choisis la NSTabView (pas la NSView qui est encapsulée), le firstResponder sera attribué au segmented control qui permet la sélection des tabs (si on a activé l'accès complet au clavier).

    Dans le second cas, ce n'est pas évident c'est vrai car tu ne sais pas directement passer d'un élément se trouvant sur le tab1 au tab2 pour définir le nextKeyView. L'astuce que j'ai trouvé est de mettre n-1 NSView ds la fenêtre (n étant le nombre de tabs). Le dernier élément de tab1 est alors relié à  la première NSView pour le nextKeyView. Cette vue est reliée au premier élément de tab2 pour le nextKeyView, et ainsi de suite pour les autres tabs. (Je sais pas si c'est très clair là .)
  • ChachaChacha Membre
    06:20 modifié #3
    dans 1122412789:

    - ou à  définir le premier élément qui sera sélectionné quand l'utilisateur  choisit un tab.

    Voilà , c'est ça. Il s'agit pour cela du initialFirstResponder, qui est le seul IBOutlet de chaque NSTabViewItem. Rien à  voir avec le nextKeyView.
    Le problème, c'est que pour tirer un câble, je dois control-cliquer depuis la source, (à  savoir le NSTabViewItem) vers la destination (un object quelconque de la NSView du NSTabViewItem). Mais un NSTabViewItem, apparement, ça ne se laisse pas control-cliquer.
    J'ai fini par trouver une solution :
    Menu Layout > Keyboard Navigation > Make Initial First Responder
    Mais je ne trouve pas ça hyper intuitif...

    +
    Chacha
Connectez-vous ou Inscrivez-vous pour répondre.