例子一:
事件绑定,直接触发
置顶显示,滚动消失
点击显示,再点消失
var panelHidden = BehaviorSubject<Bool>(value: false)
bottomBoard.rhsMenuB.rx.tap.subscribe { () in
self.panelHidden.onNext(self.bottomBoard.rhsMenuB.isSelected)
}.disposed(by: rx.disposeBag)
panelHidden.asObservable().bind(to: panelG.rx.isHidden).disposed(by: rx.disposeBag)
panelHidden.map { (haha) -> Bool in
haha == false
}.asObservable().bind(to: bottomBoard.rhsMenuB.rx.isSelected).disposed(by: rx.disposeBag)
间接触发
extension PlayerController: UIScrollViewDelegate{
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if case EnterP_src.custom = p_input{
panelHidden.onNext(tShowD.contentOffset.y > 3)
}
else{
panelHidden.onNext(contentHan.contentOffset.y > 3)
}
}
}
例子2:
事件绑定,直接触发
点击出现,再点收起
var topChoosePopHidden = BehaviorSubject<Bool>(value: true)
rhsMostMenuBtn.rx.tap.subscribe { () in
self.topChoosePopHidden.onNext(self.rhsMostMenuBtn.isSelected)
}.disposed(by: rx.disposeBag)
topChoosePopHidden.asObservable().subscribe(onNext: { (toHid) in
if toHid == false, self.playingSelected{
self.playingSelected.toggle()
self.toPause()
}
UIView.animate(withDuration: 0.3) {
if toHid{
self.constraintA.bottomChoosePop?.constraint.update(offset: 0)
}
else{
self.constraintA.bottomChoosePop?.constraint.update(offset: self.progressChoosePop.popH)
}
self.view.layoutIfNeeded()
}
}).disposed(by: rx.disposeBag)
topChoosePopHidden.asObservable().map { (ququ) -> Bool in
ququ == false
}.asObservable().bind(to: rhsMostMenuBtn.rx.isSelected).disposed(by: rx.disposeBag)
间接触发
func to(page direction: Orientation){
topChoosePopHidden.onNext(true)
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。