如何在rxSwift中处理"完成"返回键按下事件?

ale*_*lex 16 reactive-programming swift2 rx-swift

在探索RxSwift时

我发现只有textField.rx_text.asObservable()属性,每个键盘按钮被击中时触发事件.

但是我们如何处理"搜索"或"完成"按钮事件?我想在这些操作之后才进行搜索,而不是"在键入时搜索".

小智 35

您可以像这样订阅UIControlEvents:

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

  • 最重要的问题是如何在订阅此controlEvent时不关闭键盘 (2认同)

d.f*_*ber 17

在RxSwift 4中:

textField.rx.controlEvent([.editingDidEndOnExit]).subscribe { text in
    print(text)
}.disposed(by: disposeBag)
Run Code Online (Sandbox Code Playgroud)


Chi*_*sai 6

Rxswift 3.0 中

textField.rx.controlEvent([.editingDidEndOnExit])
         .subscribe(onNext:{text in
            print(text)
         }).addDisposableTo(disposeBag)
Run Code Online (Sandbox Code Playgroud)

  • `.disposed(by: disposeBag)` ** `addDisposableTo` 即将弃用。 (4认同)