每次 RxSwift 中 UITextField 文本属性更改时如何获取信号

2024-04-04

如何从以编程方式对 UITextField 文本属性进行的更改中获取信号?通过使用 rx.text 仅当用户通过键盘输入文本时报告信号。如果您以编程方式设置 textField.text,则信号不会触发。

这就是我使用 rx.text 的方式

(self.phoneNumberTextField.rx.text).orEmpty.subscribe(onNext: { [weak self] (phone) in
         // do something
    }).addDisposableTo(disposeBag)
    self.phoneNumberTextField.text = "this is for test"

谢谢你!


我遇到了同样的问题,显然扫地机的答案对我不起作用。 这就是我所做的 当我手动设置文本字段的文本时,我在文本字段上调用 ​​sendActions 方法

textField.text = "Programmatically set text." textField.sendActions(for: .valueChanged)

经过进一步挖掘,我意识到rx.text依赖于取决于UIControlEvents当您明确设置文本时,这些不会被触发。

希望这可以帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每次 RxSwift 中 UITextField 文本属性更改时如何获取信号 的相关文章

随机推荐