Joe*_*Joe 5 int max uitextfield ios swift
在Swift中,是否可以将最大INT值设置为UITextField?
我的用例是我有5个文本字段需要有一个最大的int值.这些值的范围从500到10,000.5个不同的文本字段中的每一个都具有不同的最大值.我不能使用选择器或下拉,因为增量将是1.而UISlider将太难以"擦入"数字.
如果max int值为5,000,则用户无法输入(在数字键盘的键盘类型上)任何高于5000的值.
字符数不起作用,因为如果最大值为500,如果我设置为3个字符,用户可以键入999.
您可以检查文本字段中的当前值是否小于您指定的最大整数值:
(您可能希望此时将键盘类型更改.NumberPad为允许用户仅键入数值.)
textField.keyboardType = .NumberPad
Run Code Online (Sandbox Code Playgroud)
-
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
}
Run Code Online (Sandbox Code Playgroud)
我为你创建了一个示例项目.你可以下载并玩它.
| 归档时间: |
|
| 查看次数: |
1844 次 |
| 最近记录: |