gpt4 book ai didi

ios - 如何根据使用 RXSwift 的验证更改 UIButton 的 isEnabled 和 alpha 属性?

转载 作者:搜寻专家 更新时间:2023-11-01 05:55:02 25 4
gpt4 key购买 nike

这就是我尝试使用的方法:

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)

但这只能绑定(bind)到 isEnabled 属性。我还想更改 loginButton 的 alpha。我该怎么做?

最佳答案

你必须编写 Reactive 扩展来绑定(bind)属性。

extension Reactive where Base : UIButton {
public var valid : Binder<Bool> {
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)

关于ios - 如何根据使用 RXSwift 的验证更改 UIButton 的 isEnabled 和 alpha 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51668484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com