2

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

 [self.TextBox1 becomeFirstResponder];

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

4

2 回答 2

7

在 Mac OS X 的 Cocoa 中,您有下一个响应者链,您可以在其中询问文本字段接下来应该关注哪个控件。这就是使文本字段之间的制表符起作用的原因。但由于 iPhone 没有键盘,只有触控,这个概念在向 Cocoa Touch 的过渡中没有幸存下来。

无论如何,这很容易做到,有两个假设:

所有“可选项卡” UITextFields 都在同一个父视图上。它们的“标签顺序”由标签属性定义。假设你可以覆盖 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.
 }

添加更多代码,假设也可以忽略。

于 2012-11-05T15:13:18.903 回答
3

在 Next Button 的回调中,使用,

 [self.TextBox2 becomeFirstResponder];

简单的!

于 2012-11-05T15:10:00.647 回答