由于最可能的情况是欧元符号将始终在文本字段中并且将是第一个字符,我会检查要更改的字符范围是否长于 0 并从 0 开始。(无论符号如何,这都将起作用在第一个位置)
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if range.length>0 && range.location == 0 {
return false
}
return true
}
Run Code Online (Sandbox Code Playgroud)
但是,如果欧元符号并不总是在文本字段中,您可以通过获取对用户正在更改的字符串的引用并检查它是否包含欧元符号来检查用户是否正在删除此符号:
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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2357 次 |
| 最近记录: |