2010-08-24 2 views
2

J'ai un petit problème avec uitextfield. J'utilise deux d'entre eux dans une vue et quand j'écris quelque chose sur le deuxième champ, la première chaîne est également modifiée. Voici mon codeUITextFields multiples sur une vue

-(BOOL)textFieldShouldReturn:(UITextField *)textField{ 

textString = textField.text; 
NSLog(@"the string1 %@",textString); 
[textField resignFirstResponder]; 


textString2 = textField2.text; 
NSLog(@"the string2 %@",textString2); 
[textField2 resignFirstResponder]; 

return YES;} 

donc je besoin d'aide.

Répondre

11

Votre méthode textFieldShouldReturn est appelée pour les deux champs, vous devez donc distinguer les actions de chaque champ.

Définir une étiquette à la fois les champs de texte:

myTextField1.tag = 100; 
myTextField2.tag = 101; 

et vérifier l'étiquette dans la méthode textFieldShouldReturn:

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if(textField.tag == 100) 
    { 
     textString = textField.text; 
    } 
    else if(textField.tag == 101) 
    { 
     textString2 = textField.text; 
    } 

    [textField resignFirstResponder]; 
} 

Ici textField est l'objet passé au délégué I'e » celui sur lequel vous avez tapé retour. Donc, utilisez cela et pas votre objet IBOutlet.

Et s'il vous plaît évitez de nommer vos champs de texte textField et textField2 c'est une très mauvaise pratique de codage.

Bonne chance

+1

bien bon que votre problème est résolu, mais ce que je voulais dire par les mauvaises pratiques de codage est que vos noms d'objets doivent être intuitif comme « userNameTextFiled », « passwordTextFiled » etc afin que Même si quelqu'un d'autre regarde votre code (ou même si vous le voyez après un an), ils comprennent ce qui se passe. donc je dirais que le nom 'texte' comme vous l'avez fait n'est pas génial non plus .. désolé si je vous embête avec la conférence si .. – lukya

0

Il semble que votre IBOutlets pointe vers le même objet. Re-vérifiez vos connexions dans Interface Builder.

+0

trouvé ça Merci bien – alecnash

Questions connexes