Используя приведенный ниже код, я могу автоматически добавлять дефис, но не умею правильно редактировать текстовое поле.Добавить дефис автоматически в текстовое поле, но не в состоянии редактировать текстовое поле (маскирование номера телефона)
Например, когда я нажимаю, чтобы вставить любое число между уже введенными числами в текстовое поле, это будет вставлять номер в конец текстового поля и в дальнейшем не удалять это число должным образом. Может кто-нибудь мне помочь?
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField == txtUserName)
{
if (range.location == 12)
{
return NO;
}
if (range.length == 0 && ![[NSCharacterSet decimalDigitCharacterSet] characterIsMember:[string characterAtIndex:0]])
{
return NO;
}
if (range.length == 0 && (range.location == 3 || range.location == 7))
{
txtUserName.text = [NSString stringWithFormat:@"%@- %@",txtUserName.text,string];
return NO;
}
if (range.length == 1 &&(range.location==4 ||range.location ==7))
{
range.location--;
range.length = 2;
txtUserName.text = [txtUserName.text stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"Nisha..%@",txtUserName.text);
return NO;
}
}
return YES;
}
ваш вопрос не ясно ?? – Sujay
Что @Sujay сказал, мы не знаем, что ваш код пытается выполнить. В частности, где вы хотите, чтобы дефис появлялся и когда вы этого хотите? Из вашего кода ясно, что у вас есть условия для этого, но мы не знаем, что это такое. –
Hyphen работает правильно. Но когда я делаю редактирование в количестве, которое не работает. когда я ввел номер внутри номера, он дойдет до конца. Я хочу изменить исправление в моем коде. –