Thursday, 29 August 2013

Moving focus from UITextfield after entering 2 characters

Moving focus from UITextfield after entering 2 characters

The next code will work only when the user will enter the third character.
I want the focus to move TextField when the user enters the second
character but still keep the first 2 characters in the first TextField. if
I'll try something likenewString.length < 2 , when entering 2 characters
in a row I'll get the first character in the first UITextField and the
second character in the second UITextField.
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString
*)string
{
NSString *newString = [textField.text
stringByReplacingCharactersInRange:range withString:string];
if (newString.length <= 2 )
{
return YES;
}
else
{
NSInteger nextTag;
nextTag = textField.tag + 1;
UIResponder* nextResponder = [textField.superview
viewWithTag:nextTag];
if(textField.tag == 6)
{
[textField resignFirstResponder];
}
else if (nextResponder) {
[nextResponder becomeFirstResponder];
}
else {
[textField resignFirstResponder];
}
}
}

No comments:

Post a Comment