Проверка значения в UITextfiled - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть поле UIText, и мне нужно проверить, что введенное в нем значение находится в определенном диапазоне (скажем, от 2 до 10). Кто-нибудь может помочь с примером кода?

Я использовал этот код

if( [[textfieldobject.text stringByTrimmingCharactersInSet:
                         [NSCharacterSet whitespaceCharacterSet]] length] != 0 && 
                         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] <= 2 &&
                         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 10)

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

Просто преобразуйте строковое значение в int, затем проверьте диапазон. intValue всегда будет возвращать правильное преобразование int (ноль, если что-либо не числовое). Просто имейте в виду, что если кто-то наберет «a10», результат будет 0, а в приведенном ниже коде он попадет в диапазон.

int convertedValue = [textFieldObject.text intValue];
if (convertedValue >= 0 && convertedValue <= 10) {
    NSLog(@"In range");
} else {
    NSLog(@"Out of range");
}

Можно запретить символы вне диапазона по мере их ввода, переопределив делегат UITextFieldDelegate:

shouldChangeCharactersInRange

или переопределите этот делегат и выполните проверку, затем выдвиньте уведомление и сделайте пользовательское редактирование.

textFieldDidEndEditing
0 голосов
/ 21 декабря 2011

Для этого вы можете использовать свойство length .

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