У меня есть текстовое поле, которое должно принимать численное значение только определенного диапазона, например, m-n. Я просмотрел много статей, но все они просто говорят, как установить максимальную длину для текстового поля. Но мне нужно установить текстовое поле так, чтобы оно принимало значения только диапазона, например от 23 до 103. Мне удалось убедиться, что текстовое поле принимает только числовые значения, установив тип клавиатуры на цифровую панель. Кто-то, пожалуйста, помогите.Установить диапазон числовых значений для текстового поля
ответ
Вы можете проверить значение, когда пользователь закончил редактирование текстового поля.
Установите делегат TextField к контроллеру представления, а затем:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSString *stringValue = textField.text;
NSInteger integer = [stringValue intValue];
if (integer <23 || integer > 103)
// You can make the text red here for example
return NO;
else
return YES;
}
Спасибо, но мне нужно, если верхний предел равен 103, тогда пользователь не сможет ввести 104. –
Вот почему я возвращаю NO в textFieldShouldEndEditing. Он не может прекратить редактирование текстового поля, пока он не введёт действительное значение. –
Ну, я думаю, что логика должна быть в textField: shouldChangeCharactersInRange: replacementString: method. –
Вы обычно достигают этого с помощью настраиваемого номер форматчик, который имеет минимальное/максимальное допустимое значение, например:
NSNumberFormatter* formatter= [[NSNumberFormatter alloc]init];
formatter.numberStyle= NSNumberFormatterDecimalStyle;
formatter.allowsFloats= NO;
formatter.maximum= @103;
formatter.minimum= @23;
Затем разрешить пользователю возвращаться, только если форматтер возвращает действительный номер:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
return [formatter numberFromString: textField.text]!= nil;
}
Попробуйте это. Если вы хотите установить диапазон для определенного текстового поля.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField == self.txtMobileNumber)
{
if (textField.text.length >= 10 && range.length == 0)
return NO;
}
}
- 1. заказ текстового поля, которое имеет диапазон значений
- 2. Каков правильный способ фильтрации числовых значений для текстового поля?
- 3. HTML-шаблон поля ввода для числовых значений.
- 4. Как установить диапазон для текстового поля в swift
- 5. Как установить диапазон чисел для текстового поля в iOS?
- 6. Установить диапазон значений для черепах
- 7. Ограничение текстового поля для ввода только числовых значений, а не алфавитных и буквенно-цифровых значений
- 8. HTML5 Проверка для числовых значений
- 9. умножение значений текстового поля
- 10. Визуализация значений текстового поля
- 11. Регулярное выражение для проверки диапазона числовых значений
- 12. Установить значение текстового поля
- 13. установить позицию текстового поля
- 14. SQL BETWEEN для текстовых и числовых значений
- 15. Назначение значений текстового поля для сеанса
- 16. разница Вычислить числовых значений
- 17. ASP.Net - Сортировка значений текстового поля
- 18. массива слияния для числовых значений
- 19. Типof() для проверки числовых значений
- 20. Установка числовых значений для карты значений
- 21. Laravel Добавление значений текстового поля
- 22. объединение двух значений текстового поля
- 23. Как установить ось nvd3 для использования строк вместо числовых значений?
- 24. Как установить значение scrollTop для текстового поля?
- 25. Как установить тип данных для текстового поля
- 26. Как установить формат валюты для текстового поля?
- 27. Как установить значение для текстового поля extjs?
- 28. Как установить граничный радиус для текстового поля
- 29. Установить метку для текстового поля в ExtJS
- 30. как установить максимальное значение для текстового поля
С прошивкой или OS X? –
Я пытаюсь разработать приложение для iOS. –
Если вы хотите установить минимальное значение как 23, то что происходит, когда тип 2 в текстовом поле означает, что вы ожидаете? – Balu