简体   繁体   English

UITextView的RxSwift事件

[英]RxSwift Events of UITextView

When I implement UITextFieldDelegate through RxSwift, I do this: 当我通过RxSwift实现UITextFieldDelegate ,我这样做:

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

But when I apply it to UITextView , 但是当我将它应用到UITextView

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

I get an error: 我收到一个错误:

'UITextView' is not a subtype of 'UIControl' 'UITextView'不是'UIControl'的子类型

I couldn't find anything about this issue, is there another way to implement UITextViewDelegate in RxSwift? 我找不到关于这个问题的任何内容,还有另一种在RxSwift中实现UITextViewDelegate的方法吗?

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

You can try this. 你可以试试这个。

You can map event and create Observable string like this 您可以映射事件并像这样创建Observable字符串

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM