簡體   English   中英

RxSwift 文本字段委托方法

[英]RxSwift Text field Delegate Methods

我是 RxSwift 的新手。 我需要詢問如何使用 RxSwift 綁定 textField 委托方法,例如 textFieldShouldReturn 或 textViewDidBeginEditing。

這將綁定textfield委托方法

textfield.rx.controlEvent([.EditingDidBegin]).asObservable().subscribe(on:{_ in 
    print("edit begin")
 }).addDisposableTo(disposer)

RxSwift、RxSwiftExt、RxCocoa 5.0:

let textField = UITextField()
textField.rx.controlEvent(.editingDidBegin).subscribe(onNext: { () in

}, onError: { (error) in

}, onCompleted: {

}).disposed(by: disposeBag)

這是僅在編輯完成后獲取文本的一種方式

cell.nameLabel.rx.controlEvent(.editingDidEnd).map{return
                        cell.nameLabel.text!
                    }

假設您有一個viewModel 例如:

class ViewModel {
    var name: Variable<String>
    // more properties ...
}

然后,在您的viewController

textField.rx.text.orEmpty
    .bindTo(viewModel.name)
    .addDisposableTo(disposeBag)

在您的viewController您必須導入RxSwiftRxCocoa

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM