Я использовал приведенный ниже код для установки длины символа в 17:
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// NSString *stringWithoutSpaces = [theTextField.text stringByReplacingOccurrencesOfString:@"," withString:@""];
int limit = 16;
switch (theTextField.tag) {
case 10:
NSLog(@"I m In 10");
//To set maximum No.of Charaters.
return !([theTextField.text length]>limit && [string length] > range.length);
break;
case 11:
NSLog(@"I m In 11");
//To set maximum No.of Charaters.
return !([theTextField.text length]>limit && [string length] > range.length);
break;
default:
NSLog(@"I m In default");
break;
}
return YES;
}
Я форматирую введенные символы в textfieldShouldEndEditing
,
Например, я ввел 12345678912345678
, его ограничение до 17 и его форматирование до 12,345,678,912,345,678
, и мы снова возвращаемся к TextField
, и мы отредактировали до 12,345,678,912,345
, тогда он рассматривает ,
(запятую) как один символ, поэтому длина TextField
увеличивается.
Как решить эту проблему?