我正在尝试做一些我认为很简单的事情。
我有一个包含两个UITextField的表单。我在第一个使用UIReturnKeyNext样式。这个想法是当用户填写第一个字段时,他们单击Next并将它们转换到下一个UITextField。我已经看到其他应用程序执行此操作并且它的效果非常好。但我无法弄清楚如何将焦点设置到下一个字段。
答案 0 :(得分:9)
简单。将becomeFirstResponder消息发送到您的其他文本字段。当另一个文本字段接受第一响应者状态时,它将从键盘接收信息。
例如:
//called when the next button is pressed
//Assume textField1, 2, and 3 are instances of UITextField
-(IBAction) nextPressed: (id) sender {
if ([textField1 isFirstResponder]) {
[textField2 becomeFirstResponder];
}
if ([textField2 isFirstResponder]) {
[textField3 becomeFirstResponder];
}
}
答案 1 :(得分:0)
上面的答案很有用,除了你想要从原始文本字段中resignFirstResponder。
如果您没有辞职第一响应者,当下一个字段成为第一个响应者时,IOS自动滚动调整将不起作用。 (键盘可能会覆盖下一个文本字段。)
-(IBAction) nextPressed: (id) sender {
//Resign first so that when the next field becomes firstResponder
//the text field will scroll into place if covered by the keyboard
[sender resignFirstResponder];
if ([textField1 isFirstResponder]) {
[textField2 becomeFirstResponder];
}
if ([textField2 isFirstResponder]) {
[textField3 becomeFirstResponder];
}
}