I need to enable a character based button on two text fields using RxSwift
@IBOutlet weak var userTextField: UITextField! @IBOutlet weak var passwordTextField: UITextField! @IBOutlet weak var buttonToEnableDisable: UIButton! var enabledObservable = combineLatest(userTextField.rx_text, passwordTextField.rx_text) { (user,password) in self.loginButton.enabled = a.characters.count > 0 && b.characters.count > 0 }
Finally, I understand that I am doing this, but I'm not sure if this is the best way:
_ = combineLatest(emailTextField.rx_text, passwordTextField.rx_text) { (a: String, b:String) in self.loginButton.enabled = (a.characters.count > 0 && b.characters.count > 0) }.subscribeNext { (result) -> Void in }
Change the final version:
_ = combineLatest(emailTextField.rx_text, passwordTextField.rx_text) { (a: String, b:String) in return (a.characters.count > 0 && b.characters.count > 0) }.subscribeNext { enabled in self.loginButton.alpha = enabled ? 1 : 0.5 self.loginButton.enabled = enabled } .addDisposableTo(disposeBag)
source share