代码之家  ›  专栏  ›  技术社区  ›  Bartłomiej Semańczyk

如何使用RXSwift强制点击ui按钮?

  •  1
  • Bartłomiej Semańczyk  · 技术社区  · 7 年前

    这是我订阅TAP操作的方式 UIButton :

    _ = mainView.loginButton.rx.tap.subscribe { _ in
        //this is not called at all
    }
    

    现在,我需要强制执行该操作来检查依赖项是否工作良好,但不会调用订阅处理程序。

    func testRouterDidCallWithError() {
        let view = LoginView()
        let controller = LoginViewController(view: view)
        controller.loadView()
        view.loginButton.sendActions(for: .touchUpInside) //here is the point
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Alex Nolasco    7 年前

    这项工作(“reactivex/rxswift”~>4.0)

    someButton.rx.tap
            .bind {
                debugPrint("button tapped")
            }
            .disposed(by: disposeBag)
    

    在别的地方

    someButton.sendActions(for: .touchUpInside)