web-dev-qa-db-de.com

So erhalten Sie einen Textfeldtext in XCode

Ich habe ein Textfeld mit Interface Builder erstellt. Wie kann ich den Text an anderer Stelle verwenden?

Gibt es so etwas wie:

string text = myTextField.Text;

Wenn ja, wie kann ich mein Textfeld benennen?

13
Yetik

Das erste, was Sie tun möchten, ist das Erstellen einer Eigenschaft in der .h-Datei der View Controller-Dateien, die Ihrer Xib-Datei zugeordnet sind, wie folgt:

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

Als Nächstes in der .m-Datei müssen Sie es wie folgt synthetisieren:

    @synthesize aLabel;

In Ihrem Implementierungs-Tag.

Klicken Sie nun in der Benutzeroberfläche des Interface Builder auf die Stelle, an der in "Xcode 4.3" auf der linken Seite des Bildschirms "Dateieigentümer" angezeigt wird. Wählen Sie dann im Popup den Namen der Eigenschaft, die Sie erstellt haben. Jetzt können Sie in der viewDidLoad-Methode Ihres View-Controllers Ihren Wert wie folgt erhalten:

   self.alabel.text
14
Greg Price

Um einen Namen für Ihr Textfeld zu erhalten, müssen Sie, wie Greg Price erwähnt, ein Outlet . Erstellen. Gehen Sie zu Ihrer ViewController.h-Datei und erstellen Sie eine Eigenschaft für Ihr Textfeld:

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

Mit dem Schlüsselwort IBOutlet sagen Sie dem Interface Builder, dass es einen Ausgang gibt, um eine Verbindung mit dieser Eigenschaft herzustellen. Auf der anderen Seite verwenden Sie das Schlüsselwort IBAction, um Methoden mit den Objekten zu verbinden.

Vergessen Sie nicht, Ihre Eigenschaft direkt unter Ihrer Implementierung zu synthetisieren. Dann erstellt der Compiler einige Standardsetzer und-Getter:

@synthesize myTextField;

Gehen Sie dann zum Interface Builder und klicken Sie mit der rechten Maustaste auf File's Owner. Ziehen Sie dann eine Linie von myTextField in das TextField in der Ansicht.

Jetzt können Sie auf die Texteigenschaft in Ihrem Code zugreifen:

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

Zuerst benötigen Sie eine @ -Eigenschaft namens myTextField.

Danach können Sie den Text des Textfelds myTextField.text abrufen. Weitere Informationen finden Sie in der Klassenreferenz UITextField .

Möglicherweise möchten Sie es erhalten, während der Benutzer schreibt. Wenn ja, können Sie einen Blick auf UITextFieldDelegate werfen.

-

Bearbeiten: Ein cooler Link, um zu sehen, ob Sie ein Objective C-Student sind. Weitere Informationen finden Sie unter: UITextFields Beispiele

Freundliche Grüße.

3
ggrana

Es gibt auch ein Nizza-Tutorial von Apple, das dasselbe abdeckt, sowie ein paar andere Anfänger-iOS-Themen: Deine erste iOS-App

1
CBredlow

Ziehen Sie das Textfeld einfach aus dem Ansichtsbereich in Ihr Storyboard. Aktivieren Sie anschließend den Assistenten-Editor, damit Sie sowohl das Codefenster als auch das Storyboard gleichzeitig anzeigen können. Drücken Sie dann die Steuertaste und ziehen Sie das Textfeld aus dem Storyboard in das Codefenster.

//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!


    }

Quelle: Xcode-Textfeld-Lernprogramm

0
Reyaan Roy