在Swift中,是否可以将最大INT值设置为UITextField?
我的用例是我有5个文本字段,它们需要具有最大的int值。这些值的范围从500一直到10,000。5个不同的文本字段中的每个字段将具有不同的最大值。我不能使用选择器或下拉列表,因为增量将是1。UISlider太难了,无法“擦入”数字。
如果最大int值为5,000,则用户不能(在数字键盘的键盘类型上)输入大于5000的值。
字符数将不起作用,因为如果最大值为500,则如果我设置为3个字符,则用户可以输入999。
您可以检查文本字段中的当前值是否小于您指定的最大整数值:
(此时,您可能希望将键盘类型更改为.NumberPad,以允许用户仅键入数字值。)
.NumberPad
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 }
我为您创建了一个示例项目。您可以下载并试用它。