2010-03-16 14 views
5

Sono un principiante. Non riesco a capire come e dove chiamare ResignFirstResponder per sbarazzarsi della tastiera quando l'utente ha finito di inserire il testo in un UITextField. Sono un po 'confuso dalla classe UIResponder. La documentazione mono dice: "Per chiudere la tastiera, invia il messaggio UIResponder.ResignFirstResponder al campo di testo che è attualmente il primo risponditore." Come si fa? Qualcuno può pubblicare un semplice esempio di lavoro? Ci sono molti esempi in Obj-C ma nessuno in C#. Grazie molto.Esempio di UITextField ResignFirstResponder con Monotouch

risposta

17

Ecco 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); 
} 

anche se si è inviato un modulo con un pulsante, assicurarsi che le dimissioni di tutti i campi di testo del pulsante di scatto, per evitare errori di responder.

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

    // Other button logic 
} 
+1

Top partner! Mi sento abbastanza bene :) Grazie ancora Chris! – Tajomaru

+0

@kentakhy Contento di aiutare, mi ci sono voluti circa 3 ore per capirlo da piccoli pezzi sul web e gli esempi di Miguel: http://github.com/migueldeicaza/monotouch-samples –

Problemi correlati