【发布时间】:2017-06-27 23:44:45
【问题描述】:
我正在尝试检测 observable(我的情况 button.rx.tap)是否在 3 秒内没有发出任何值。如果是,我想更新用户界面。到目前为止,这是我的尝试:
Observable<Int>.interval(3, scheduler: MainScheduler.instance)
.takeUntil(button.rx.tap) // I know take until will stop the timer sequence
.subscribe({ event in
print(event)
UIView.animate(withDuration: 0.4, animations: {
if let number = event.element {
let scale: CGFloat = number % 2 == 0 ? 1.5 : 1.0
self.button.transform = CGAffineTransform(scaleX: scale, y: scale)
}
})
})
.addDisposableTo(disposeBag)
我的目标是在按钮未点击三秒钟时为视图设置动画。我尝试过 scan、distinctUntilChanged 和 debounce,但我遇到的大多数组合运算符只会在可观察项发出项目时才会发出项目。非常感谢任何帮助。
【问题讨论】:
标签: swift reactive-programming rx-swift rx-cocoa