是否有一种方法可以以RxSwift方式实现shouldChangeTextIn
UITextView
的委托方法?我的目标是限制用户的文本输入。我只有这个:
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)
答案 0 :(得分:1)
尝试一下:
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)