Здравствуйте!
Подскажите люди добрые как оформить ограничения для TextField
- Ограничение на ввод только цифр
- Ограничение на ввод минимального значения скажем 50
- Ограничение на ввод максимального значения скажем 300
Здравствуйте!
Подскажите люди добрые как оформить ограничения для TextField
я могу Вам подсказать только по теории потому что даже Xcode нет,
Вы не поняли про ограничение
смотрите это не кол-во символов
а это ограничение по вводу числа
то есть минимум что я могу ввести в поле это 50 он мне не даст ввести 1 к примеру
а максимум я могу ввести 300, 301 если введу вернет на 300 или вернет алерт
прицип ограничения инпут поля как в яве min: 100, max: 300
Сделайте цифровую клавиатуру (В настройках текстфилда можно выбрать, либо textfield.keyboardType) и при деактивации текстфилда проверяйте, соответствует ли введенное число вашим требованиям
Добрый день с клавиатурой то все понятно,
я сейчас в это поле хочу ввести ограничения по вводимым суммам то есть человек может вбить значение от 70 до 3200
и не более и не менее
допустим он вводит размеры в 2 текст филда и каждый из них ограничен в одном от 70 до 3200 в другом от 70 до 2240
К ограничению по символам это не имеет ни какого отношения
Ну так консоль читайте. Если число попадает в диапазон, то оно будет записано в label, а если не попадает, то в консоли выводится “repeat”. Я понял, что вы хотите, но как такое реализовать, увы, не знаю
запрет на ввод симоволов
тут
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
}
}