[Objective C] Problème avec NSTextField

  • Créateur du sujet Créateur du sujet Eddy58
  • Date de début Date de début

Eddy58

Membre actif
27 Décembre 2002
134
0
Visiter le site
Il y a quelque chose que je ne comprend pas : J'ai un textfield, formaté pour nombres à virgules. Une notification NSContolTextDidChange surveille le textfield et notifie correctement tout changement dans celui-ci. Quand la méthode liée à la notification est appelée, je récupère la valeur du textfield. Jusqu'ici pas de problème tout fonctionne. Le problème réside dans le comportement du textfield : Celui-ci est initialisé à "0,00". Quand on rentre un chiffre entre la virgule et le premier zéro, le curseur passe soudainement de l'autre coté de la virgule ! C'est très gênant.... En cherchant, et en supprimant la ligne : val=[textField floatValue]; qui récupère la valeur, et bien le textfield se comporte normalement. Je ne comprend pas en quoi le faites de récupérer la valeur pendant l'édition perturbe le comportement du textfield ?
Quelqu'un a-t-il déjà eu ce problème, et/ou aurait-il une idée pour le résoudre ?

Le projet est récupérable ici
 
Suis pas spécialiste mais ai regardé un peu ton code.

Pour récuper la valeur éditée par ton NSTextField, j'écrirais plutôt :

-(IBAction)setValue:(id)sender
{
val = [sender floatValue];
}

en ayant connecté bien sur ton NSTextField à ton Controleur.
 
Je pense qu'il vaut mieux faire:

val=[[notification object] floatValue];

[edit]

Bon, en fait c'est pas mieux, ça semble faire conflit avec le formateur, et finalement c'est logique, si tu as besoin de contrôler la saisie, utilise un NSNumberFormatter perso.

Maintenant si c'est pour récupérer la valeur finale, textDidEndEditing devrait convenir.