Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了RxSwift:当textfield获得焦点时升级模型状态大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有3个UITextField的UIViewController.每当其中一个字段获得焦点时,我想为上面的提示标签设置一个新的文本值.使用Rx Swift实现这一目标的最佳方法是什么?

解决方法

这就是你要找的东西.每当UITextField发送textFieldDidBeginEdiTing:delegate消息时,您都会获得一个Observable.然后将Observable映射到该文本字段的正确字符串.然后将所有这三个Observable组合成一个,其中最新事件来自最近调用该委托消息的文本字段.然后将该值绑定到工具提示的文本.

import UIKit
import RxSwift
import RxCocoa

class ViewController: UIViewController {
    let disposeBag = DisposeBag()

    @IBOutlet weak var tooltip: UILabel!
    @IBOutlet weak var textField1: UITextField!
    @IBOutlet weak var textField2: UITextField!
    @IBOutlet weak var textField3: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        let textField1Text = textField1.rx_controlEvent(.EdiTingDidBegin)
            .map { "text field 1 message" }

        let textField2Text = textField2.rx_controlEvent(.EdiTingDidBegin)
            .map { "text field 2 message" }

        let textField3Text = textField3.rx_controlEvent(.EdiTingDidBegin)
            .map { "text field 3 message" }

        Observable.of(textField1Text,textField2Text,textField3Text).merge()
            .bindTo(tooltip.rx_text)
            .addDisposableTo(disposeBag)
    }
}

大佬总结

以上是大佬教程为你收集整理的RxSwift:当textfield获得焦点时升级模型状态全部内容,希望文章能够帮你解决RxSwift:当textfield获得焦点时升级模型状态所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。