диапазон ввода текстового поля в конструкторе интерфейса - PullRequest
1 голос
/ 28 июля 2010

У меня есть несколько текстовых полей в моем файле пера. Я хочу определить диапазон ввода в одном текстовом поле до 6-16 цифр, и я не хочу изменять любой другой ввод текстового поля. Для этого я сделал метод, названный tflimit, как показано ниже.

-(IBAction)tflimit:(id)sender
{      
    if([textfields1.text length]>=15 )
    {
         [textfields1 resignFirstResponder]; 
    }   
}

С помощью этого метода я могу ввести только 16 цифр. Как я могу определить диапазон (6-16) ввода в текстовом поле без изменения других кодов.

1 Ответ

2 голосов
/ 28 июля 2010

Вы можете фильтровать пользовательский ввод в методе textField:shouldChangeCharactersInRange:replacementString: в делегате текстового поля:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    if (textField == textfields1){// Apply logic only to required field
        NSString* newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
        return [newString length] < 16 && [newString length] > 5;
    }
    return YES;
}

Обратите внимание, что для корректной работы этого метода необходимо предварительно заполнить текстовое поле текстом длиной не менее 5 символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...