2012-06-18 39 views
13

Hice un campo de texto con el constructor de interfaz. ¿Cómo puedo hacer que su texto se use en otro lugar?Cómo obtener el texto de un campo de texto en XCode

¿Existe algo así como:

string text = myTextField.Text; 

Si es así, ¿cómo me puedo nombrar mi campo de texto?

+0

¿Ha creado una propiedad y lo conectó con el constructor de interfaces o necesita asesoramiento con eso? –

+0

Necesito un consejo con eso :) Sé que es una pregunta muy básica, pero soy nuevo para ver las aplicaciones basadas. En realidad estoy tratando de hacer mi primera aplicación basada en la vista. – Yetik

+0

no prob ver debajo de –

Respuesta

14

Así que lo primero que quiere hacer es crear una propiedad en el archivo .h de los archivos de controlador de vista asociadas al archivo de xib así:

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

siguiente en el archivo .m lo necesario para sintetizarlo así:

@synthesize aLabel; 

Dentro de ti etiqueta de implementación.

Ahora en el control del generador de interfaz, haga clic donde dice "Propietario del archivo" en el lado izquierdo de la pantalla en Xcode 4.3, mantenga presionado y arrastre sobre la etiqueta y suéltelo. Luego, en la ventana emergente, seleccione el nombre de la propiedad que creó. Ahora bien, en el método viewDidLoad de su controlador de vista se puede conseguir en su valor, así:

self.alabel.text 
+0

Gracias, pero cuando estoy definiendo propiedad dice: esperaba un atributo de propiedad antes de 'fuerte' – Yetik

+0

Ah .. Entonces estás usando un compilador anterior. Pruebe esto en su lugar: @property (retener, no atómico) IBOutlet UITextField * aciklama; –

+0

Por cierto estoy usando: @property (fuerte, no atómica) IBOutlet UITextField * aciklama; Porque es un campo de texto no una etiqueta. Probablemente no es tan importante, pero solo quería decir. – Yetik

3

Primero necesitará una @property llamada myTextField.

Después de eso, puede obtener el texto del campo de texto myTextField.text. Para obtener más información, consulte la referencia de clase UITextField

Quizás desee obtenerla mientras el usuario escribe. Si es así, puede echar un vistazo a UITextFieldDelegate

-

Editar: Un enlace interesante echar un vistazo si usted es un estudiante Objective C, se puede obtener más información en: UITextFields examples

Saludos.

1

También hay un buen tutorial de manzana hecho de que cubre el mismo, así como un par de otros temas iOS principiantes: Your First iOS App

7

Como Greg precio mencionado, para obtener un nombre para el campo de texto, usted tiene que crear una salida. ir a su archivo ViewController.h y crear una propiedad para su campo de texto:

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

Con la palabra clave IBOutlet que dice el Interface Builder que hay una salida para conectar con esta propiedad. Por otro lado, utilizará la palabra clave IBAction para conectar métodos a los objetos.

No se olvide de sintetizar su propiedad, justo debajo de su aplicación, el compilador creará que algunos emisor de estándares y getter:

@synthesize myTextField; 

luego ir al constructor de interfaces y haga clic derecho en el File's Owner entonces arrastre una línea desde myTextField al TextField en la Vista.

Ahora se puede acceder a la propiedad de texto en el código:

NSString *string = self.myTextField.text; 
0

Es bastante sencillo sólo tienes que arrastrar de campo de texto de Área a su Storyboard. Luego active el editor asistente para que pueda ver tanto la ventana de código como el guión gráfico al mismo tiempo. A continuación, presione el botón de control y arrastre el campo de texto de su guión gráfico a la ventana de códigos y eso es todo.

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


    } 

Fuente: Xcode Text Field Tutorial

Cuestiones relacionadas