как ограничить диапазоны чисел в текстовых полях (swift 4) [duplicate]

<input type="radio" class="radioBtnClass" name="numbers" value="1" />1<br/>
<input type="radio" class="radioBtnClass" name="numbers" value="2" />2<br/>
<input type="radio" class="radioBtnClass" name="numbers" value="3" />3<br/>

Это вернет, проверит значение переключателя.

if($("input[type='radio'].radioBtnClass").is(':checked')) {
    var card_type = $("input[type='radio'].radioBtnClass:checked").val();
    alert(card_type);
}
3
задан Joe 12 May 2016 в 19:01
поделиться

1 ответ

Вы можете проверить, меньше ли текущее значение в текстовом поле, чем указанное максимальное целочисленное значение:

(Возможно, вы захотите изменить тип клавиатуры на .NumberPad в эта точка позволяет пользователю вводить только числовые значения.)

textField.keyboardType = .NumberPad

-

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
  let newText = NSString(string: textField.text!).stringByReplacingCharactersInRange(range, withString: string)
  if newText.isEmpty {
    return true
  }
  else if let intValue = Int(newText) where intValue <= self.maxValue {
    return true
  }
  return false
}

Я создал проект example для вы. Вы можете скачать и поиграть с ним.

4
ответ дан ozgur 16 August 2018 в 04:34
поделиться
  • 1
    Спасибо!! это, кажется, делает то, что мне нужно. Вопрос, однако, в чем преимущество использования наблюдателя свойств на maxValue? – Joe 12 May 2016 в 19:51
  • 2
    Предположим, вы уменьшили максимальное значение от 5000 до 2000, а текущее значение в текстовом вводе - 3000. Так что вам лучше очистить все и начать все заново. – ozgur 12 May 2016 в 19:52
  • 3
    Я даже не думал об этом. идеально. СПАСИБО! – Joe 12 May 2016 в 19:55
  • 4
    Имея всего лишь небольшую сложность в реализации этого проекта. Я создал расширение на VC и добавил метод делегата shouldChangeCharactersInRange. однако - мое текстовое поле - это «enterIntMax». (не textField, как в вашем примере). Я не могу понять, что изменить в методе работы с enterIntMax – Joe 12 May 2016 в 20:29
  • 5
Другие вопросы по тегам:

Похожие вопросы: