Как избежать слишком много новых строк в Swift - PullRequest
0 голосов
/ 01 апреля 2020

Я использую текстовое представление для ввода контента для пользователей, но я не могу ограничить количество попаданий пользователя для создания новых строк. Как я могу ограничить textView максимум двумя новыми строками?

Пример :

текущий

"Start





end"

Желаемый:

"limit


2 


empty lines"

1 Ответ

1 голос
/ 01 апреля 2020

Вы можете сделать свой контроллер представления делегатом вашего текстового представления и использовать replacecingOccurferences, чтобы заменить 4 или более новых строк на 3 новые строки, вам нужно будет избегать новых строк также в начале вашей строки:

class ViewController: UIViewController, UITextViewDelegate {

    @IBOutlet weak var textView: UITextView!
    override func viewDidLoad() {
        super.viewDidLoad()
        textView.delegate = self
    }
    func textViewDidChange(_ textView: UITextView) {
        // avoid new lines also at the beginning
        textView.text = textView.text.replacingOccurrences(of: "^\n", with: "", options: .regularExpression)
        // avoids 4 or more new lines after some text
        textView.text = textView.text.replacingOccurrences(of: "\n{4,}", with: "\n\n\n", options: .regularExpression)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...