【发布时间】:2013-04-09 21:00:01
【问题描述】:
我有多个 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.
}
【问题讨论】:
-
您是否检查过所有
UITextField对象都有其委托集?您是否尝试过调试具有textfield标记的值?您是否确保视图层次结构中没有重复的标签?顺便说一句,您应该检查viewWithTag中返回的UIView实际上是一个UITextField对象。 -
哇,是代表。我瞎了!谢谢!想要将其发布为回复,以便我选择答案?
-
我在下面添加了答案。感谢您的投票:)
标签: ios uitextfield next first-responder uiresponder