2012-06-18 9 views
13

Ho creato un campo di testo con il generatore di interfacce. Come posso ottenere il suo testo da usare da qualche altra parte?Come ottenere il testo di un campo di testo in XCode

C'è qualcosa di simile:

string text = myTextField.Text; 

Se sì, come posso chiamare il mio campo di testo?

+0

Avete creato una proprietà e agganciato in su con Interface Builder o avete bisogno di consigli con quello? –

+0

Ho bisogno di un consiglio con quello :) so che è una domanda molto semplice ma sono nuovo per visualizzare le applicazioni basate. In realtà sto provando a realizzare la mia prima applicazione basata sulla vista. – Yetik

+0

no prob see below –

risposta

14

Quindi la prima cosa che si vuole fare è creare una proprietà nel file h dei file di visualizzazione del controller associati con il file XI ter in questo modo:

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

successivo nel file .m è necessario sintetizzare in questo modo:

@synthesize aLabel; 

Dentro il tuo tag di implementazione.

Ora nel controllo dell'interfaccia builder fai clic su "File's Owner" sul lato sinistro dello schermo in Xcode 4.3, tieni premuto e trascina l'etichetta e lascia andare. Quindi nel popup seleziona il nome della proprietà che hai creato. Ora nel metodo viewDidLoad del vostro controller della vista si possono ottenere presso il vostro valore in questo modo:

self.alabel.text 
+0

Grazie, Ma quando sto definendo la proprietà si dice: previsto un attributo di proprietà prima di 'strong' – Yetik

+0

Ah .. Quindi si sta utilizzando un compilatore più vecchio. Prova questo: @property (retain, nonatomic) IBOutlet UITextField * aciklama; –

+0

Dal modo in cui sto usando: @property (strong, nonatomic) IBOutlet UITextField * aciklama; Perché è un campo di testo non un'etichetta. Probabilmente non è così importante ma volevo solo dire. – Yetik

3

Per prima cosa è necessario un @property denominato myTextField.

Successivamente è possibile ottenere il testo del campo di testo myTextField.text. Per ulteriori informazioni, consultare il riferimento alla classe UITextField

Forse si desidera ottenere mentre l'utente sta digitando. Se così si può dare un'occhiata a UITextFieldDelegate

-

Edit: Un link fresco per dare un'occhiata, se sei uno studente Objective C, si può imparare di più su: UITextFields examples

migliori saluti.

1

C'è anche una bella mela un'esercitazione fatta che copre la stessa cosa, così come un paio di altri argomenti iOS principianti: Your First iOS App

7

Come Greg prezzo indicato, per ottenere un nome per il campo di testo, è necessario creare una presa. andare al file ViewController.h e creare una proprietà per il vostro campo di testo:

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

Con la parola IBOutlet si dice l'Interface Builder che ci sia una presa per il collegamento con questa proprietà. D'altra parte userete la parola chiave IBAction per connettere metodi agli oggetti.

Non dimenticate di sintetizzare la vostra proprietà, proprio sotto l'implementazione, il compilatore creerà qualche standard setter e getter:

@synthesize myTextField; 

poi andare al costruttore di interfaccia e fare clic destro sul File's Owner poi trascina una linea da myTextField al TextField sulla vista.

Ora è possibile accedere alla proprietà di testo nel codice:

NSString *string = self.myTextField.text; 
0

suo abbastanza semplice, basta trascinare Campo di testo da View Area al vostro Storyboard. Quindi attiva l'assistente editor in modo da poter visualizzare contemporaneamente sia la finestra del codice che lo storyboard. Quindi premere il pulsante di controllo e trascinare il campo di testo dallo storyboard alla finestra di codice e questo è tutto.

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


    } 

Fonte: Xcode Text Field Tutorial

Problemi correlati