UITextField nextResponder只能运行一次

时间:2013-04-09 21:00:01

标签: ios uitextfield next first-responder uiresponder

我有多个UITextField,我试图点击下一个在它们之间切换。我已经为1-4中的每一个设置了标签。当我运行我的代码时,它会移动到第二个代码,但不会移动到第三个代码。如果我跳textField.tag + 2;它将跳转到第三个区域,但它不会从那里继续前进。这是我的代码:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
theScrollView.frame = CGRectMake(theScrollView.frame.origin.x, theScrollView.frame.origin.y,
                                 theScrollView.frame.size.width, theScrollView.frame.size.height + 265 - 50); //resize

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 个答案:

答案 0 :(得分:0)

我会审核以下内容:

  1. 检查所有UITextField个对象是否已设置其委托
  2. 启动调试器并检查每个textfield标记的值
  3. 确保视图层次结构中没有重复的标记
  4. 测试UIView中返回的viewWithTag:对象实际上是UITextField对象。