How to create Observable which streams an event repeatedly while a button holds down?
To continue on rootcoder response, I had a situation where I had to recognize one longpress greater than three seconds
let signinLongpress = signinButton.rx.controlEvent([.touchDown])
signinLongpress
.flatMapLatest { _ in
Observable.interval(3, scheduler: MainScheduler.instance)
.take(1)
}
.subscribe(onNext:{ _ in print("do fun stuff only once when longpress detected")})
.disposed(by: disposeBag)