在下面的textView函数中,每次用户按下空格键时,我都会在字符串的末尾附加'#'字符。但是,附加字符后会出现多余的空格。我使用过函数来删除字符串末尾的空格,但这些功能无济于事。此外,我还尝试使用removeLast()删除字符串的最后一个字符,但这只是删除了'#'字符本身。请帮忙!我正在使用Swift 4.2。
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if text == " " {
textView.text.append(("#"))
//textView.text.removeLast()
}
if text == "\n" {
textView.resignFirstResponder()
return false
}
return true
}
答案 0 :(得分:2)
之所以发生这种情况,是因为您要追加字符,然后返回true(在所有情况下,除了换行符)。
如果在附加字符后返回false,则它应该可以按预期运行。
尝试一下:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if text == " " {
textView.text.append(("#"))
return false
}
if text == "\n" {
textView.resignFirstResponder()
return false
}
return true
}