В настоящее время у меня есть текстовое поле в формате ### / ##.При вводе он печатает в правильном формате, но по какой-то странной причине при удалении он будет удаляться только до знака «/» и не будет удалять до этого.Например, если текст (555/66), он будет удаляться до (555 /), а затем прекратит удаление.Есть идеи как это исправить?Вот код.
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.count == 0 {
var text = textField.text!
let start = text.startIndex
let beginRange = text.index(start, offsetBy: range.location)
let endRange = text.index(start, offsetBy: range.location + range.length)
text = String(text.prefix(upTo: beginRange))
+ String(text.suffix(from: endRange))
text = text.replacingOccurrences(of: "/", with: "")
if text.count >= 2 {
text = String(text.prefix(3)) + "/" + String(text.dropFirst(3))
}
textField.text = text
return false
}
}