
func textField(textField: UITextField,shouldChangeCharactersInRange range: NSRange,replacementString string: String) -> Bool {返回真}
我不得不限制用户从文本框中删除这个符号。用户可以在不删除此符号的情况下从文本字段中删除任何内容。
发布于 2016-05-04 15:06:33
由于最可能的情况是,欧元符号将始终在textfield中,并且将是第一个字符,因此我将检查要更改的字符范围是否大于0,并从0开始。(不管第一个位置的符号是什么,这都是可行的)
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if range.length>0 && range.location == 0 {
return false
}
return true
}但是,如果欧元符号并不总是在文本字段中,则可以通过获取用户正在更改的字符串的引用并检查该符号是否包含欧元符号来检查用户是否正在删除该符号:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if range.length>0 && range.location == 0 {
let changedText = NSString(string: textField.text!).substringWithRange(range)
if changedText.containsString("€") {
return false
}
}
return true
}https://stackoverflow.com/questions/37030040
复制相似问题