在字符串末尾附加一个字符后,将添加一个多余的空格。我该如何删除?

时间:2019-01-16 20:44:15

标签: ios swift uitextview

在下面的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
}

1 个答案:

答案 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
}