如何让键盘移动到下一个文本字段

Spo*_*ude 9 keyboard xamarin.ios

我有几个UITextField在一个组...我需要能够从第一个移动到最后一个,并在最后一个使它成为FirstResponder.

我认为Next键会移动焦点,而Done会使它成为FirstResponder,但显然不是.

想法?

小智 18

"接受的答案"是正确的,但我认为对于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);
}
Run Code Online (Sandbox Code Playgroud)

希望这有助于其他人.


Kru*_*lur 12

你必须实现UITextFieldDelegate的ShouldReturn方法,并在那里创建下一个文本字段BecomeFirstResponder().然后返回/下一步将带您到下一个字段.如果在最后一个文本字段中返回,则会在该字段上调用ResignFirstResponder().