После добавления символа в конец моей строки добавляется ненужный пробел. Как мне это убрать? - PullRequest
0 голосов
/ 16 января 2019

В приведенной ниже функции 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 голосов
/ 16 января 2019

Это происходит потому, что вы добавляете символ, а затем возвращаете 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...