Text field и ограничения

swift

#1

Здравствуйте!
Подскажите люди добрые как оформить ограничения для TextField

  1. Ограничение на ввод только цифр
  2. Ограничение на ввод минимального значения скажем 50
  3. Ограничение на ввод максимального значения скажем 300

#2

я могу Вам подсказать только по теории потому что даже Xcode нет,

  1. Скорее всего у TextField есть тип значение необходимо указать число.
    2-3 ) При событии изменения TexTField проверять введеное значение если <50 то ставить автоматом 50 , если > 300 ставить 300.

#3


для ввода только цифр можно задать клавиатуру только с цифрами, например


#4

Вы не поняли про ограничение
смотрите это не кол-во символов
а это ограничение по вводу числа

то есть минимум что я могу ввести в поле это 50 он мне не даст ввести 1 к примеру

а максимум я могу ввести 300, 301 если введу вернет на 300 или вернет алерт

прицип ограничения инпут поля как в яве min: 100, max: 300


#5

Сделайте цифровую клавиатуру (В настройках текстфилда можно выбрать, либо textfield.keyboardType) и при деактивации текстфилда проверяйте, соответствует ли введенное число вашим требованиям


#6

Пример можно ?
хотелось бы мысль уловить в коде


#7

Смотрите. Пожалуй, самый простой вариант, как мне кажется


#8

Добрый день с клавиатурой то все понятно,
я сейчас в это поле хочу ввести ограничения по вводимым суммам то есть человек может вбить значение от 70 до 3200

и не более и не менее

допустим он вводит размеры в 2 текст филда и каждый из них ограничен в одном от 70 до 3200 в другом от 70 до 2240
К ограничению по символам это не имеет ни какого отношения


#9

Дак вы можете проверить введное значение и заменить его если оно в диапазон не входит!


#10

Пример ?
какой нибудь пожалуйста


#11

В моём примере же сделано ограничение от 1 до 10, разве нет?


#12

нет ограничения смотрите сами картинка


#13

Ну так консоль читайте. Если число попадает в диапазон, то оно будет записано в label, а если не попадает, то в консоли выводится “repeat”. Я понял, что вы хотите, но как такое реализовать, увы, не знаю


#14

это я все видел только вот интересует сам textField


#15

запрет на ввод симоволов
тут

import UIKit

class BannedCharsTextField: UITextField, UITextFieldDelegate {
  
  @IBInspectable var bannedChars: String = ""
  
  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    delegate = self
    autocorrectionType = .No
  }
  
  func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    guard string.characters.count > 0 else {
      return true
    }
    
    let currentText = textField.text ?? ""
    let prospectiveText = (currentText as NSString).stringByReplacingCharactersInRange(range, withString: string)
    return prospectiveText.doesNotContainCharactersIn(bannedChars)
  }
  
}


extension String {
  
  // Returns true if the string has no characters in common with matchCharacters.
  func doesNotContainCharactersIn(matchCharacters: String) -> Bool {
    let characterSet = NSCharacterSet(charactersInString: matchCharacters)
    return self.rangeOfCharacterFromSet(characterSet) == nil
  }
  
}

Проблема с использованием точки (.) в названии child Firebase