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

时间:2011-01-21 15:28:16

标签: keyboard xamarin.ios

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

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

想法?

3 个答案:

答案 0 :(得分: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);
}

希望这有助于其他人。

答案 1 :(得分:12)

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

答案 2 :(得分:0)

您必须手动移动包含文本字段的视图,方式是您想要的文本字段位于键盘上方。