我正在尝试为我的 UIButton 创建 isHighlighted Observable,以在每次 UIButton 的 isHiglighted 发生更改时发送序列。我写了这样的东西
extension Reactive where Base: UIButton {
var isHighlighted: Observable<Bool> {
let property = self.base.rx.controlProperty(editingEvents: .allTouchEvents,
getter: { _ in self.base.isHighlighted },
setter: { (_, _) in })
return property
.distinctUntilChanged()
.asObservable()
}
}
问题是,它不适用于.touchUpInside
. 如果我将手指拖到 UIButton 外然后回来,它可以正常工作,但不适用于点击操作。我认为.touchUpInside
它仍然在很短的时间内突出显示。