我想在选择按钮时隐藏视图,而在取消选择按钮时显示视图,如何使用RxSwift进行显示呢?
答案 0 :(得分:0)
当我创建一个自定义控件(UIButton
中的一个复选框)时,我实际上很难观察到该isSelected
属性。但这是一个简单的方法:
将UIButton
子类化(这是可选的,但是通过这种方式,您的控制器中的行会更短)。
在您的自定义按钮中,订阅其自己的.rx.tap
。
按钮中有一个名为BehaviorRelay
的{{1}}。
最后,您现在可以将实例化按钮的isSelectedBinder
绑定到任何视图的isSelectedBinder
。
控制器
.rx.isHidden
按钮
class ViewController: UIViewController {
@IBOutlet weak var button: MyButton!
@IBOutlet weak var someView: UIView!
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
self.button.isSelectedBinder
.bind(to: self.someView.rx.isHidden)
.disposed(by: disposeBag)
}
}