Очистить содержимое UITextView в Swift - PullRequest
0 голосов
/ 06 марта 2019

У меня есть UITextView и UIButton в моем приложении, и я пытаюсь получить текстовое содержимое UITextView, которое будет очищено при нажатии UIButton.

Мой код:

@IBOutlet weak var textView: UITextView!

@IBAction func ClearButtonTapped(_ sender: UIButton) {
        // I want to clear the text content of textView
    }

Есть ли для этого встроенная функция в классе UITextView? Я ничего не нашел, когда искал класс UITextView в Xcode.

Мое приложение работает на Xcode 10.1 и Swift 4.2.

Ответы [ 3 ]

1 голос
/ 06 марта 2019

Небольшое улучшение:

textView.text = nil

1 голос
/ 06 марта 2019

Попробуйте использовать textView.text = "".Если это не работает, возможно, вы используете заполнитель.Попробуйте textView.placeholder = ""

0 голосов
/ 06 марта 2019

Я не нашел готовую функцию для очистки текстового содержимого UITextView, поэтому я создал этот код для этого:

Переменная UITextView:

@IBOutlet weak var textView: UITextView!

Функция для очистки UITextView:

@IBAction func ClearButtonTapped(_ sender: UIButton) {
        textView.selectAll(textView)
        if let range = textView.selectedTextRange { textView.replace(range, withText: "") }
    }

Когда нажата кнопка очистки, функция проверяет, есть ли текст в UITextView, и если он есть, он выделит весь текств UITextView и замените его пустым String.

РЕДАКТИРОВАТЬ :

Существует также простой способ сделать это, который по какой-то причине, не работало, когда я пытался это сделать раньше (вероятно, из-за ошибок в Xcode 10.1), , но пользователь не может отменить его, если он случайно нажал кнопку очистки :

@IBAction func ClearButtonTapped(_ sender: UIButton) {
   textView.text = ""
}

Или с добавочным номером:

extension UITextView {
    func clear() {
        self.text = ""
    }
}

Позвоните textView.clear(), если хотите очистить текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...