How to reset keyboard for an entry field?

Posted by David.Chu.ca on Stack Overflow See other posts from Stack Overflow or by David.Chu.ca
Published on 2010-06-04T06:27:24Z Indexed on 2010/06/05 17:22 UTC
Read the original article Hit count: 154

Filed under:
|

I am using tag field as a flag for text fields text view fields for auto-jumping to the next field:

- (BOOL)findNextEntryFieldAsResponder:(UIControl *)field {
  BOOL retVal = NO;
  for (UIView* aView in mEntryFields) {
    if (aView.tag == (field.tag + 1)) {
      [aView becomeFirstResponder];
      retVal = YES;
      break;
    }
 }
 return retVal;
}

It works fine in terms of auto-jumping to the next field when Next key is pressed. However, my case is that the keyboards are different some fields. For example, one fields is numeric & punctuation, and the next one is default (alphabetic keys). For the numeric & punctuation keyboard is OK, but the next field will stay as the same layout. It requires user to press 123 to go back ABC keyboard.

I am not sure if there is any way to reset the keyboard for a field as its keyboard defined in xib? Not sure if there is any APIs available? I guess I have to do something is the following delegate?

-(void)textFieldDidBegingEditing:(UITextField*) textField {
  // reset to the keyboard to request specific keyboard view?
  ....
}

OK. I found a solution close to my case by slatvik:

-(void) textFieldDidBeginEditing:(UITextField*) textField {
  textField.keyboardType = UIKeybardTypeAlphabet;
}

However, in the case of the previous text fields is numeric, the keyboard stays numeric when auto-jumped to the next field. Is there any way to set keyboard to alphabet mode?

© Stack Overflow or respective owner

Related posts about iphone

Related posts about objective-c