如何处理 rxSwift 中的 "Done" return 按键事件?

How to handle "Done" return key press event in rxSwift?

探索时RxSwift

我发现 textField.rx_text.asObservable() 属性,每次按下键盘按钮都会触发事件。

但是我们如何处理 "search" 或 "done" 按钮按下事件?我只想在执行这些操作后才启动搜索,而不是 "search as you type"。

您可以像这样订阅 UIControlEvents:

textField.rx_controlEvents(.EditingDidEndOnExit).subscribeNext { print("return pressed") }

Rxswift 3.0

textField.rx.controlEvent([.editingDidEndOnExit])
         .subscribe(onNext:{text in
            print(text)
         }).addDisposableTo(disposeBag)

在 RxSwift 4 和 5 中:

textField.rx.controlEvent([.editingDidEndOnExit]).subscribe { _ in
    print("editingDidEndOnExit")
}.disposed(by: disposeBag)