2011-01-21 13 views

Odpowiedz

12

Musisz zaimplementować metodę ShouldReturn metody UITextFieldDelegate, a następnie utworzyć następne pole tekstowe BecomeFirstResponder(). Następnie return/next przeniesie Cię do następnego pola. Jeśli powrót zostanie trafiony na ostatnim polu tekstowym, wywołasz ResignFirstResponder() na tym polu.

+0

Dziękuję ... dokładnie to, czego szukałem ... – SpokaneDude

0

Musisz ręcznie przesunąć widok zawierający pola tekstowe, tak aby pole tekstowe znajdowało się nad klawiaturą.

+0

Dimitris ... Nie sądzę, że rozumiesz moje pytanie ... to nie jest problem z widokiem ... to, że kiedy stukam Dalej na klawiaturze, chcę, żeby fokus przesunął się do następnego pola tekstowego ... aż do ostatniego, w którym to momencie staje się FirstResponder i klawiatura znika. – SpokaneDude

18

"Akceptowana odpowiedź" ma rację, ale pomyślałem, że mały kod nie zaszkodzi osobom, które są nowe w MonoTouch.

public override void ViewDidLoad() { 
    base.ViewDidLoad(); 

    // make first text field have focus 
    this.txtMake.BecomeFirstResponder(); 

    // make 'return' shift focus to next text field 
    this.txtMake.ShouldReturn = delegate(UITextField textField) { 
     this.txtModel.BecomeFirstResponder(); 
     return true; 
    }; 

    // make 'return' on last text field save and close the form 
    this.txtModel.ShouldReturn = delegate(UITextField textField) { 
     this.txtModel.ResignFirstResponder(); 
     this.SaveAndClose(); 
     return true; 
    }; 
} 

private void SaveAndClose() { 
    // todo: do something with your data 

    // navigate back 
    this.NavigationController.PopViewControllerAnimated(true); 
} 

Mam nadzieję, że to pomaga innym.

Powiązane problemy