在我的字符串末尾附加一个字符后,添加了不需要的 space 。我该如何删除它?
After appending a character to the end of my string, an unwanted space is added. How do I remove this?
在下面的 textView 函数中,每次用户按下 space 栏时,我都会将“#”字符附加到字符串的末尾。但是,不需要的 space 出现在附加字符之后。我已经使用函数删除字符串末尾的 whitespaces 但这些没有帮助。此外,我还尝试使用 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
}
发生这种情况是因为您要附加字符,然后 return 为真(在所有情况下,换行除外)。
如果您在附加字符后 return 为 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
}
在下面的 textView 函数中,每次用户按下 space 栏时,我都会将“#”字符附加到字符串的末尾。但是,不需要的 space 出现在附加字符之后。我已经使用函数删除字符串末尾的 whitespaces 但这些没有帮助。此外,我还尝试使用 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
}
发生这种情况是因为您要附加字符,然后 return 为真(在所有情况下,换行除外)。
如果您在附加字符后 return 为 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
}