我在视图中有两个UITextField让用户输入格式为1234AA的邮政编码
当用户输入四位数字时,我能够自动跳转到第二个文本字段。
我为此定制了这种方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
现在我的问题是,当用户按下删除键而textfield 2为空时,有没有办法自动从textfield 2跳回到textfield 1。
我无法正常工作,因为当textfield 2为空时,不调用上述方法。
有没有人知道这样做的方法?
答案 0 :(得分:2)
使用 textField.tag 标识您的textFields。例如,如果为texField 1和2分别分配标记0和1。
// You could do this in the textFieldDidBeginEditing method //
If (textField.tag == 0)
{
//Now the first textField must be active//
// do the method you had posted above//
}
If (textField.tag ==1)
{
//Now the second textField must be active//
}
检查键盘事件的逻辑在下面的链接中提供。或者,您也可以使用NSNotification检查键盘事件。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleTextFieldChanged:)name:UITextFieldTextDidChangeNotification
object:searchTextField];
在Stack Overflow上检查此问题,以检测Empty UITextField上的BackSpace Detect backspace in UITextField
您还可以使用本教程检测按下的键并检查BackSpace并将控制权转移回textField 1。 http://www.cocos2d-iphone.org/forum/topic/11725