Ограничить длину текстового поля - PullRequest
0 голосов
/ 25 августа 2011

Пожалуйста, скажите мне, как я могу установить диапазон текстового поля максимум на шесть и минимум на один.

Ответы [ 2 ]

3 голосов
/ 29 августа 2011

Установите себя в качестве делегата текстового поля и реализуйте этот метод:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if (newString.length < 1) {
        // too short
    } else if (newString.length > 6) {
        // too long
    }
    return YES;
}

Я бы предложил вам иметь UILabel, которая скажет красным текстом, что текст слишком короткий или слишком длинный.Просто запретить пользователю вводить текстовое поле, когда он наберет 6 символов, или удалить последний символ, когда он передумал, - очень плохой пользовательский опыт.

0 голосов
/ 25 августа 2011

Реализуйте метод делегата textField:shouldReplaceCharactersInRange:replacementString:, и ваша реализация вернет NO, если полученная строка выйдет за пределы ваших ограничений.

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