2011-05-16 5 views
0

J'ai plusieurs curseurs dans mon application, comment savoir quel curseur est sélectionné. Et comment définir les valeurs de curseur au type entier où double est le type par défaut;Comment savoir quel curseur est sélectionné

+0

Si vous regardez la méthode qui gère le changement, la réponse sera évidente. – Eiko

Répondre

0

Vous devez configurer le curseur pour cibler une méthode lorsqu'elle change, afin que vous puissiez être informé lorsqu'un curseur change. Vous devez le faire dans le constructeur d'interface, mais si pour une raison quelconque vous ne pouvez pas, peut-être vous devez déterminer de façon dynamique les curseurs nécessaire, alors vous pouvez utiliser des méthodes comme

  • [NSControl setAction:]
  • [NSControl setTarget:]

NSControl peut avoir leur valeur définie avec différents types de données (int, float, double), même certains types qui ne sont pas applicables à NSSliders (par exemple NSString), ce n'est pas leur type par défaut, utilisez simplement la méthode suivante.

  • -[NSControl setIntValue:]
1

Vous pouvez utiliser le Tag propriété du curseur pour attribuer un entier (ou encore mieux, utilisez un ENUM). Ceci est utile si vous avez plusieurs boutons ou contrôles avec la même cible.

L'expéditeur sera le contrôle qui a déclenché l'action, et vous pouvez obtenir le tag à partir de celui-ci. Vous pouvez également renvoyer vers le type de contrôle d'origine si vous devez accéder à d'autres propriétés.

Voir Objective C IBOutlets pour plus d'informations sur l'expéditeur.

Notez également que normalement, vous devez définir la balise dans Interface Builder (IB), mais vous pouvez également les définir en code.

+0

Si vous avez des prises connectées aux curseurs, vous pouvez simplement comparer l'argument 'sender' à chaque prise. L'étiquette est utile quand il serait difficile de faire une sortie pour chaque curseur ou de comparer à ce nombre de points de vente différents. –

Questions connexes