2011-06-06 29 views
2

我有两个的UITextField在我看来,让用户在格式1234AA的UITextField跳转到以前

  • 的UITextField 1输入邮编:用数字键盘
  • 的UITextField的数目为2部分:字母(常规键盘)

当用户输入四位数字时,我能够自动跳转到第二个文本框。

我定制的,这种方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

现在的问题是,有没有办法来自动跳转从文本框2回文本框1,当用户按下删除键,文本框2为空。

我无法得到这个工作,因为当textfield 2为空时,上述方法不会被调用。

有没有人知道一种方法来做到这一点?

回答

2

使用textField.tag来识别您的textFields。例如,如果为texFields 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]; 

检查堆栈溢出这个问题对空的UITextField检测BackSpace键 Detect backspace in UITextField

你也可以使用本教程来检测按下键和退格键和传输控制检查回文本框1. http://www.cocos2d-iphone.org/forum/topic/11725