In Swift, is it possible to set a max INT value to a UITextField?
My use-case is I have 5 text fields that need to have a maximum int value. These values range from
You can check if the current value in the text field is less than the maximum integer value you've specified:
(You might want to change the keyboard type to .NumberPad
at this point to let user type only numeric values.)
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
}
I created an example project for you. You can download and play around with it.