2010-05-21 2 views

Répondre

2
  1. Si vous créez votre interface à l'aide IB vous pouvez créer IBOutlet dans votre contrôleur pour chaque élément d'interface utilisateur, connectez-vous ensuite dans IB, puis comparer textField paramètres avec eux:

    //header 
    IBOutlet UITextField* nameField; 
    IBOutlet UITextField* addressField; 
    
    //Implementation 
    ... 
    if (textField == nameField){ 
    } 
    if (textField == addressField){ 
    } 
    

2 Dans IB, vous pouvez également attribuer une valeur de balise unique pour chaque UITextField (disponible pour chaque sous-classe UIView) et comparer les valeurs des balises:

#define nameTag 10 
    #define addressTag 11 

    //Implementation 
    ... 
    if (textField.tag == nameTag){ 
    } 
    if (textField.tag == addressTag){ 
    } 
+0

Bah tu me bats à nouveau Vladimir :) – willcodejavaforfood

+0

Ah j'ai oublié sur les balises, mais je voulais un meilleur moyen de le faire. Je n'avais pas réalisé que je pouvais juste comparer le nom de référence. Merci Vladimir. –

0

La solution la plus élégante consiste à utiliser des balises de l'interface constructeur/storyboard, attribuer des balises pour chacun des champs de texte.

Ensuite, utilisez un commutateur (textfield.tag) cas dans votre code, le code semble beaucoup plus propre par rapport à mettre beaucoup de déclarations si

Questions connexes