8

RxSwift を使用して、2 つのテキスト フィールドの文字数に基づいてボタンを有効にする必要があります。

@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
}

最後に、これを行うことで達成しますが、それが最善の方法かどうかはわかりません:

    _ = 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
    }

最終版を編集:

    _ = 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)
4

2 に答える 2