lazyvar disposeBag =DisposeBag() typealiasBlock= (STATButton) -> () var stat =BehaviorRelay<Bool>(value: false) var trueSB: Block? var falseSB: Block?
然后再init 里面订阅 stat,后续会对stat
1 2 3 4 5 6
stat.skip(1).asObservable().subscribe(onNext: { [weakself] status in let block = status ?self?.trueSB : self?.falseSB iflet b = block { b(self!) } }).disposed(by: disposeBag)
heart.trueSB = { [weakself] v in v.snp.remakeConstraints { make in make.left.equalTo(ContentEdge.left) make.top.equalTo(self!.content.snp.bottom).offset(10) } } heart.falseSB = { [weakself] v in v.snp.remakeConstraints { make in make.left.equalTo(ContentEdge.left) make.height.equalTo(0) make.top.equalTo(self!.content.snp.bottom).offset(0) } }