2010-03-16 17 views
5

Soy un novato. No puedo averiguar cómo y dónde llamar a ResignFirstResponder para deshacerse del teclado cuando el usuario terminó de ingresar el texto en un UITextField. Estoy un poco confundido por la clase UIResponder. La documentación de Mono dice: "Para cerrar el teclado, envíe el mensaje UIResponder.ResignFirstResponder al campo de texto que actualmente es el primer respondedor". ¿Cómo hacer eso? ¿Alguien puede publicar un ejemplo de trabajo simple? Hay muchos ejemplos en Obj-C pero ninguno en C#. Muchas gracias.Ejemplo de UITextField ResignFirstResponder con Monotouch

Respuesta

17

Aquí es an example I've done recently:

private UITextField _textField; 

public override void ViewDidLoad() 
{ 
    _textField = new UITextField(); 
    _textField.Text = "King Alfonso III"; 
    _textField.Bounds = bounds; 
    _textField.Placeholder = "Username"; 
    _textField.ShouldReturn = delegate 
    { 
     _textField.ResignFirstResponder(); 
     return true; 
    }; 
    View.AddSubview(_textField); 
} 

También si usted está enviado un formulario con un botón, asegúrese de que usted renuncia a todos los campos de texto en el botón de clic, para evitar que los errores de respuesta.

public void ButtonClick(object sender, EventArgs e) 
{ 
    _textField.ResignFirstResponder(); 
    // All other textboxes 

    // Other button logic 
} 
+1

Top mate! Me siento bastante n00by :) ¡Gracias otra vez Chris! – Tajomaru

+0

@kentakhy Me alegro de ayudar, me tomó alrededor de 3 horas averiguarlo a partir de pequeñas partes en la web y ejemplos de Miguel: http://github.com/migueldeicaza/monotouch-samples –