在下一个按钮期间从一个文本字段移动到另一个按钮单击虚拟键盘

时间:2012-11-05 15:08:14

标签: objective-c ios xcode

所以我有两个文本框,比方说,TextBox1和TwoBox2。 在Viewdidload TextBox1上我正在使用

 [self.TextBox1 becomeFirstResponder];

现在,当我按下虚拟键盘中的下一个按钮时,如何将光标移动到TextBox2

2 个答案:

答案 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];

容易!