Как реализовать следует изменить текст в RxSwift - PullRequest
0 голосов
/ 04 января 2019

Есть ли способ реализовать метод делегата shouldChangeTextIn UITextView в RxSwift?Моя цель - ограничить ввод текста пользователем.У меня просто есть это:

    self.textView.rx.text
        .orEmpty
        .scan("") { (previous, new) -> String in
            return new.count > 254 ? previous : new
        }
        .bind(to: self.viewModel.notes)
        .disposed(by: self.disposeBag)

Это для данных, но я не знаю, как предотвратить дальнейший ввод после подсчета 254.

Я также нашел RxTextViewDelegateProxy, но я 'Я тоже не уверен, как его использовать.

let rxTVDelegateProxy = RxTextViewDelegateProxy(textView: self.textView)

1 Ответ

0 голосов
/ 04 января 2019

Попробуйте это:

       textView.rx.text.orEmpty
        .scan("") { (previous, new) -> String in

            return new.count < 254 ? new : previous ?? String(new.prefix(254))
        }
        .subscribe(textView.rx.text)
        .disposed(by: disposeBag)
...