UITextView 的 RxSwift 事件

RxSwift Events of UITextView

当我通过 RxSwift 实现 UITextFieldDelegate 时,我这样做:

self.textField_AddressType.rx.controlEvent(.editingDidBegin).subscribe { _ in
    // Code here...
}.disposed(by: self.disposeBag)

但是当我将它应用到 UITextView

self.textView.rx.controlEvent(.editingDidBegin).subscribe { _ in
   // Code here...
}.disposed(by: self.disposeBag)

我收到一个错误:

'UITextView' is not a subtype of 'UIControl'

我找不到关于这个问题的任何信息,是否有另一种方法可以在 RxSwift 中实现 UITextViewDelegate

textView.rx.didBeginEditing.subscribe(onNext: { n in
  value = n
}, onCompleted: {
  completed = true
})

你可以试试这个。

您可以像这样映射事件并创建 Observable 字符串

self.tfUserName.rx.controlEvent(UIControlEvents.editingDidEnd)
        .map { self.tfUserName.text }
        .filter { [=10=] != nil }
        .map { [=10=]! }
        .subscribe(onNext: { (text) in
            // Code here...
        }).disposed(by: self.disposeBag)