web-dev-qa-db-fra.com

Comment obtenir un texte de champ de texte en XCode

J'ai créé un champ de texte avec un générateur d'interface. Comment puis-je obtenir son texte à utiliser ailleurs?

Y a-t-il quelque chose comme:

string text = myTextField.Text;

Si oui, comment puis-je nommer mon champ de texte?

13
Yetik

La première chose à faire est donc de créer une propriété dans le fichier .h des fichiers de contrôleur de vue associés à votre fichier xib, comme suit:

    @property (strong, nonatomic) IBOutlet UILabel *aLabel;

Ensuite, dans le fichier .m, vous devez le synthétiser comme suit:

    @synthesize aLabel;

Dans votre tag d'implémentation.

Maintenant, dans le contrôle du générateur d'interface, cliquez à l'endroit où il est indiqué "Propriétaire du fichier" sur le côté gauche de l'écran dans Xcode 4.3, maintenez enfoncé, faites glisser le curseur sur l'étiquette et relâchez le bouton. Ensuite, dans la fenêtre contextuelle, sélectionnez le nom de la propriété que vous avez créée. Maintenant, dans la méthode viewDidLoad de votre contrôleur de vue, vous pouvez obtenir votre valeur comme suit:

   self.alabel.text
14
Greg Price

Comme Greg Price l'a mentionné, pour obtenir un nom pour votre champ de texte, vous devez créer un point de vente . Allez dans votre fichier ViewController.h et créez une propriété pour votre champ de texte:

@interface YourViewController: UIViewController
@property (nonatomic, retain) IBOutlet UITextField myTextField
@end

Avec le mot clé IBOutlet, vous indiquez à Interface Builder qu’il existe un point de vente permettant de se connecter à cette propriété. D'autre part, vous utiliserez le mot clé IBAction pour connecter des méthodes aux objets.

N'oubliez pas de synthétiser votre propriété, directement sous votre implémentation, le compilateur vous créera un setter et un getter standard:

@synthesize myTextField;

Ensuite, allez dans le générateur d’interface et cliquez avec le bouton droit de la souris sur File's Owner, puis faites glisser une ligne de myTextField vers TextField dans la vue.

Vous pouvez maintenant accéder à la propriété text dans votre code:

NSString *string = self.myTextField.text;
8
Herm

Vous aurez d’abord besoin d’une propriété @ appelée myTextField.

Après cela, vous pouvez obtenir le texte du champ de texte myTextField.text. Pour plus d'informations, consultez la référence de classe UITextField

Peut-être souhaitez-vous l'obtenir pendant que l'utilisateur tape. Si oui, vous pouvez jeter un oeil à UITextFieldDelegate

-

Edit: un lien intéressant à consulter si vous êtes un étudiant Objective C, vous pouvez en apprendre plus à: exemples UITextFields

Meilleures salutations.

3
ggrana

Il existe également un didacticiel Nice réalisé par Apple qui couvre la même chose, ainsi que quelques autres sujets iOS débutants: Votre première application iOS

1
CBredlow

Il est très simple de faire glisser un champ de texte de la zone de vue vers votre scénarimage. Activez ensuite l’éditeur assistant pour pouvoir afficher à la fois la fenêtre de code et le storyboard. Ensuite, appuyez sur le bouton de commande et faites glisser le champ de texte de votre storyboard vers la fenêtre de code.

//created a string variable
    var name: String = ""

    //our label to display input
    @IBOutlet weak var labelName: UILabel!

    //this is the text field we created
    @IBOutlet weak var textFieldName: UITextField!

    @IBAction func buttonClick(sender: UIButton) {
        //getting input from Text Field
        name = textFieldName.text!


    }

Source: Tutoriel pour les champs de texte Xcode

0
Reyaan Roy