Я в настоящее время форматирую свое текстовое поле в xcode, к каждому 5-му символу я добавляю дефис.Тем не менее, у меня много проблем, в настоящее время я хочу проверить свой textfields.text.length, а затем, как только длина достигнет 23 символов, кнопка подтверждения будет доступна для нажатия.До сих пор это работает, когда у меня возникают проблемы, скажем, если пользователь вводит 23 символа и кнопка доступна для нажатия, если пользователь решил вернуться и удалить один символ, нет ничего, чтобы обновить новую длину текста, так как я не знаю, какпоймать кнопку удаления на цифровой клавиатуре ... Доза кто-нибудь знает, как это сделать?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *separator = @"-";
int seperatorInterval = 5;
NSString *originalString = [regTextField.text stringByReplacingOccurrencesOfString:separator withString:@""];
if (![originalString isEqualToString:@""] && ![string isEqualToString:@""]) {
NSString *lastChar = [regTextField.text substringFromIndex:[regTextField.text length] - 1];
int modulus = [originalString length] % seperatorInterval;
[self validateTextFields];
if (![lastChar isEqualToString:separator] && modulus == 0) {
regTextField.text = [regTextField.text stringByAppendingString:separator];
}
}
[self validateTextFields];
return YES;
}
-(IBAction) validateTextFields {
if (regTextField.text.length >= 22){
[submitButton setEnabled:YES]; //enables submitButton
}
else {
[submitButton setEnabled:NO]; //disables submitButton
}
}