我想观察UITextfield.editing属性。我正在使用此代码:

self.money.rx_observe(Bool.self, "editing").subscribeNext { (value) in
    print("")
}.addDisposableTo(disposeBag)

但是在运行过程中,它只执行了一次。请问该如何解决

最佳答案

不要观察editing属性,因为它不仅仅是存储的属性。它的定义为:

public var editing: Bool { get }

因此,您不知道UIKit实际上是如何获得该值(value)的。

相反,请使用rx.controlEvent并指定您感兴趣的控制事件,如下所示:
textField.rx.controlEvent([.editingDidBegin, .editingDidEnd])
    .asObservable()
    .subscribe(onNext: { _ in
        print("editing state changed")
    })
    .disposed(by: disposeBag)

关于ios - 使用RxSwift观察UITextField.editing,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39627440/

10-11 14:59