ReactorKit사용 중 view의 tap gesture를 action으로 전달해 주는 방법을 찾다가 RxGesture을 발견했습니다.
- 기존에 gesture을 recognize하는 과정을 생략할 수 있습니다.
 
let view = UIView()
let tap = UITapGestureRecognizer(
      target: self,
      action: #selector(tapView)
    )
view.addGestureRecognizer(tap)
view.isUserInteractionEnabled = true
- gesture을 recognize하지 않아도 전달할 수 있습니다.
 
view.rx
  .tapGesture()
  .when(.recognized)
  .subscribe(onNext: { _ in
    //react to taps
  })
  .disposed(by: stepBag)
tapGestrue()를 그냥 사용시 view를 bindin 할 때에도 event가 전달됨으로 .when(.recognized)를 추가해줍니다.
- reactorKit 사용시 reactor에게 action을 전달하는 용도로 활용했습니다.
 
numberSelectView.rx.tapGesture()
  .when(.recognized)
  .asObservable()
  .map { _ in Reactor.Action.selectNumber }
  .bind(to: reactor.action)
  .disposed(by: self.disposeBag)