作者:黑马理财投资 | 来源:互联网 | 2022-12-08 18:33
这就是我尝试使用的方法:
let observable = Observable.combineLatest(loginProperty.asObservable(), passwordProperty.asObservable()) { _,_ in
self.viewModel.isValid
}
observable.bind(to: mainView.loginButton.rx.isEnabled).disposed(by: disposeBag)
//observable.bind(to: mainView.loginButton.rx.alpha).disposed(by: disposeBag)
但这只能绑定到isEnabled
属性。我也想更改自己的Alpha loginButton
。我怎样才能做到这一点?
1> Jaydeep..:
您必须编写响应式扩展来绑定属性。
extension Reactive where Base : UIButton {
public var valid : Binder {
return Binder(self.base) { button, valid in
button.isEnabled = valid
button.alpha = 0.5 // You Value as per valid or not
}
}
}
然后像这样写来检查Observable值
observable.bind(to: mainView.loginButton.rx.valid).disposed(by: disposeBag)