У меня есть 10 текстовых полей, каждое из которых может содержать не более одного символа.Когда я ввожу символ в первое текстовое поле, фокус должен автоматически перемещаться в следующее текстовое поле и так далее.То есть, как только первый символ введен в текстовое поле, фокус должен сместиться на следующий.То есть следующее текстовое поле должно стать первым респондентом.Я написал код ниже, использовал метод делегата текстового поля.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"];
for (int i = 0; i < [string length]; i++) {
unichar c = [string characterAtIndex:i];
if([myCharSet characterIsMember:c])
{
int previousTag = textField.tag;
if([textField.text length] > 0)
{
if((previousTag == 9) && ([textField10.text length] >0))
{
return NO;
}
UITextField *tempField=(UITextField *)[self.view viewWithTag:previousTag+1];
if([tempField.text length] > 0){
[tempField resignFirstResponder];
return NO;
}
[tempField becomeFirstResponder];
return YES;
}
}
else{
return NO;
}
}
return YES;
}
Но я не получаю желаемых результатов.Когда я набираю символ, он вводится в первом текстовом поле, но фокус не смещается к следующему, хотя, когда я набираю 2-й символ, он вводится в следующем текстовом поле.
Точно так же мне нужно написатьфункция удаления, при которой при удалении текстового поля фокус автоматически перемещается на предыдущее текстовое поле.
Любые ответы будут оценены.Спасибо.