[英]iOS Swift decimal input in UITextfield from right to left
这里没有提到的解决方案:
为我工作。 请不要将此标记为重复。
我不能继承 UITextField 来给出我自己的实现。(这个 UITextField 也在其他地方使用)。
我看到的唯一方法是在此方法中格式化 replacementText 字符串(用户输入字符串):
override func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let currentText = textField.text ?? ""
var replacementText = (currentText as NSString).replacingCharacters(in: range, with: string)
}
因此,当用户输入一个数字时,它应该显示如下:0.00。
当用户点击 1. 我们应该有 0.01 当用户点击 2. 我们应该显示 0.12 当用户点击 3. 我们应该显示 1.23 当用户点击 4. 我们应该显示 12.34
private var enteredText: String = ""
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if enteredText.count > 0 && string == "" && range.length == 1 {
//Handles backspace
enteredText.removeLast()
}
else {
enteredText += string
}
return true
}
func textFieldDidChangeCharacter(textField:UITextField) {
if let number = NumberFormatter().number(from: enteredText) {
let double = number.doubleValue/100.0
let string = String(format: "%0.2f", double)
textField.text = string
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.