Kau*_*hna 3 uitextfield ios swift swift2
我正在UITextField其中获取月份数字作为输入。我成功地将 UITextField 中的字符数限制为 2。但我希望用户只输入其中的值1 to 12,仅此而已。这必须在用户键入数字(即 in )时同时完成func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool。如果我使用一个简单的if条件来检查每个字符并else部分返回 false,则文本字段将不允许我使用清除或重新键入任何其他字符。谁来帮帮我。
将键盘类型设置为数字键盘
添加这个
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
}
Run Code Online (Sandbox Code Playgroud)