这段代码运行得很好,我不能键入除整数以外的任何内容,即使我试图粘贴它。
我想再加一个优化,就是限制输入的长度。下面是我的代码:
func initializeTextFields()
{
APTeams.delegate = self
APTeams.keyboardType = UIKeyboardType.NumberPad
APRounds.delegate = self
APRounds.keyboardType = UIKeyboardType.NumberPad
APBreakers.delegate = self
APBreakers.keyboardType = UIKeyboardType.NumberPad
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
// Find out what the text field will be after adding the current edit
let text = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
if text == "" {
return true
}
if let _ = Int(text) {
return true
}
else {
return false
}
}
要实现这一点,我需要添加什么呢?所有TextField的最大输入长度应该〈= 4。
顺便说一句,所有的代码都在Swift 2中。从我在尝试实现我以前问过的问题的答案时遇到的问题来看,我发现有些方法是不同的。
5条答案
按热度按时间nwsw7zdq1#
count(textField.text)
在SWIFT 2.0中已弃用1wnzp6jl2#
将textfield委派方法中的条件写成:-
将所有代码部分写入其他部分。
vmpqdwk33#
委派方法或NSFormatter,例如NSNumberFormatter。格式化程序通常是最合适的,因为它也提供当地语系化支援。
lp0sw83n4#
我知道它有点太晚了,但我仍然想分享它太,我发现了一种方法,这是更容易设置一个限制字符的文本字段在快速发展。
下面是代码:-
然后通过面板设置限制。
图片:x1c 0d1x
yks3o0rb5#
只要尝试这个限制TF的长度
编辑已更改的TF操作出口
将限制长度的函数