本文介绍了使用RxSwift观察UITextField.editing的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to observe the property UITextfield.editing. I'm using this code:

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

但在运行过程中,它只执行一次。我如何解决这个问题,请

But in the process of running, it's only performed once. How do I solve this,please

推荐答案

不要观察编辑 property,因为它不仅仅是一个存储属性。它被定义为:

Don't observe the editing property, because it's not just a stored property. It's defined as:

public var editing: Bool { get }

所以你不知道UIKit实际上是如何获得这个价值的。

So you don't know how UIKit is actually getting that value.

相反,使用 rx.controlEvent 并指定您感兴趣的控制事件,如下所示:

Instead, use rx.controlEvent and specify the control events you're interested in, like so:

textField.rx.controlEvent([.editingDidBegin, .editingDidEnd])
    .asObservable()
    .subscribe(onNext: { _ in
        print("editing state changed")
    })
    .disposed(by: disposeBag)

这篇关于使用RxSwift观察UITextField.editing的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 13:15