我有几个UITextFields在一个组中......我需要能够从第一个移动到最后一个,并在最后使它成为FirstResponder。如何让键盘移动到下一个文本域
我认为Next键会移动焦点,完成会导致它成为FirstResponder,但显然不是。
想法?
我有几个UITextFields在一个组中......我需要能够从第一个移动到最后一个,并在最后使它成为FirstResponder。如何让键盘移动到下一个文本域
我认为Next键会移动焦点,完成会导致它成为FirstResponder,但显然不是。
想法?
您必须实现UITextFieldDelegate的ShouldReturn方法,并在那里创建下一个文本字段BecomeFirstResponder()。然后返回/下一个将带你到下一个领域。如果在最后一个文本字段中返回,您将在该字段上调用ResignFirstResponder()。
您必须手动移动包含文本字段的视图,方法是将所需的文本字段放在键盘上方。
Dimitris ...我不认为你理解我的问题...这不是视图的问题...它是当我点击键盘上的下一步时,我想焦点移动到下一个文本框...直到它到达最后一个,此时它变成FirstResponder并且键盘消失。 – SpokaneDude 2011-01-21 17:41:17
“已接受的答案”是正确的,但我认为有一点代码不会伤害刚接触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);
}
希望这可以帮助别人。
谢谢......我一直在寻找什么...... – SpokaneDude 2011-01-22 14:33:49