我正在UITextField获取月份号作为输入。我成功地将UITextField中的字符数限制为2。但是我希望用户仅输入来自的值,1 to 12而不要输入其他值。当用户键入数字时,即必须同时进行func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool。如果我使用简单的if条件检查每个字符并else部分返回false,则文本字段将不允许我使用clear或重新键入其他任何字符。谁来帮帮我。
UITextField
1 to 12
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool
if
else
将键盘类型设置为数字键盘
加上这个
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { if let text = textField.text { let newStr = (text as NSString) .stringByReplacingCharactersInRange(range, withString: string) if newStr.isEmpty { return true } let intvalue = Int(newStr) return (intvalue >= 0 && intvalue <= 12) } return true }