Tengo 8 uitextfields que son para una contraseña. Cada campo de texto contiene una letra de la contraseña. Cuando escribo una letra y luego de eso cuando presiono la 2da tecla, el foco se mueve al siguiente campo de texto. Pero quiero que, tan pronto como termine de escribir el primer carácter, el foco se mueva al siguiente campo de texto sin presionar otra tecla o presionar la tecla tab. ¿Cómo puedo hacer eso? ¿Algún tutorial de código de muestra para eso? El código que he usado es el siguiente.¿Cómo establecer el foco en el próximo uitextfield en iPhone?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(keyPressed:) name: UITextFieldTextDidChangeNotification object: nil];
// Try to find next responder
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder) {
// Found next responder, so set it.
//nextTag += 1;
[nextResponder becomeFirstResponder];
if ([nextResponder tag] == 308) {
//[self performSelector:@selector(checkPassCode) withObject:nil afterDelay:0.0];
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(checkPassCode) userInfo:nil repeats:NO];
lastResponder = nextResponder;
}
return YES;
} else {
[textField resignFirstResponder];
return NO;
}
}
-(void) keyPressed: (NSNotification*) notification
{
nextTag += 1;
[[NSNotificationCenter defaultCenter] removeObserver: self name:UITextFieldTextDidChangeNotification object: nil];
}