所以我有两个文本框,比方说,TextBox1和TwoBox2。 在Viewdidload TextBox1上我正在使用
[self.TextBox1 becomeFirstResponder];
现在,当我按下虚拟键盘中的下一个按钮时,如何将光标移动到TextBox2
答案 0 :(得分:7)
在Cocoa for Mac OS X中,你有下一个响应者链,在那里你可以询问文本字段接下来应该关注哪个控件。这就是使文本字段之间的标签工作的原因。但由于iPhone没有键盘,只有触摸,这个概念还没有幸免于过渡到Cocoa Touch。
无论如何,这可以轻松完成,有两个假设:
所有“tabbable”UITextField都位于同一父视图中。 他们的“tab-order”由tag属性定义。 假设你可以覆盖textFieldShouldReturn:就像这样:
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
NSInteger nextTag = textField.tag + 1;
// Try to find next responder
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder) {
// Found next responder, so set it.
[nextResponder becomeFirstResponder];
} else {
// Not found, so remove keyboard.
[textField resignFirstResponder];
}
return NO; // We do not want UITextField to insert line-breaks.
}
添加更多代码,也可以忽略这些假设。
答案 1 :(得分:3)
在Next Button的回调中,使用
[self.TextBox2 becomeFirstResponder];
容易!