У меня есть 2 вопросаUITextField с форматом ввода
1) Если текстовое поле ввести 10 цифр, после того, как раз ударяя 10 цифр это вызвать функцию (MYFUNCTION), у меня есть ниже код, чтобы установить длину 10 цифр, ниже кода работы когда я нажимаю 11-ю цифру.
#define MAX_LENGTH 10
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField.text.length >= MAX_LENGTH && range.length == 0)
{
[self myFunction];//not working it works when 11th time key is press
return NO; // return NO to not change text
}
return YES;
}
-(void) myFunction
{
// do my stuff here
}
2) Мой второй вопрос касается формата ввода кредитной карты с несколькими TextField. у меня есть 3 текстовое поле, в котором я должен ввести 4 цифры каждый, ниже мой код работает отлично, но он также работает на пресс-5-раз (например, изменение текстовое поле поле)
в viewDidLoad
вторая часть? answer – iphonemaclover
Вопрос 2 является продолжением вопроса 1, предоставляет вам два способа: 1. Используя текстовые, каждые четыре автоматических пространства, а затем наложите маску, например, он был во входных данных для пользователей, которые воспринимают три окна. –
2. if (TF_TAG_ONE = = textField. Tag) {If (textField. Text. Length> MAX_LENGTH) {TextField. Текст = [textField. Text substringToIndex: MAX_LENGTH]; Nsstrings * subText = [textField. Text substringFromIndex: MAX_LENGTH]; [self textField_2 статьFirstResponder]; [self textFieldDidChange: self textField_2 withNewText: subText];}} –