swift学习资料

基于 RxSwift 优雅实现点击事件

2019-05-29  本文已影响0人  ImWiki

我们给一个控件动态增加点击事件总是觉得很麻烦,但是引入RxSwift后就变得简单干净多了。

普通方式添加点击事件

普通方式必须先创建一个方法,然后才能把点击事件指向该方法

@objc func onHeadClick(_ recognizer: UITapGestureRecognizer){
    print("点击")
}

let click = UITapGestureRecognizer(target: self, action: #selector(onHeadClick))
       
imageView.addGestureRecognizer(click)
imageView.isUserInteractionEnabled = true
RxSwift 方式

RxSwift 直接就可以在当前的代码栈即可完成代码的编写。

 let click = UITapGestureRecognizer()
click.rx.event.asObservable().subscribe(onNext: { recognizer in
    print("点击")
}).disposed(by: disposeBag)

imageView.addGestureRecognizer(click)
imageView.isUserInteractionEnabled = true
let button = UIButton()
button.rx.tap.subscribe(onNext: { recognizer in

})
上一篇 下一篇

猜你喜欢

热点阅读