首页 > 解决方案 > RxSwift - UIImageView - 观察属性 isHighlighted

问题描述

我正在尝试观察对象 UIImageView 上的属性“isHighlighted”,但似乎我的代码不正确?任何想法?

imageView.rx
.observe(Optional<Bool>.self, "isHighlighted")
.subscribe {

}
.disposed(by: disposeBag)

当我将 imageView 设置为突出显示时,没有任何订阅。

标签: iosiphoneswiftrx-swift

解决方案


将此扩展添加到您的项目中:

public extension Reactive where Base: UIImageView {
    var isHighlighted: ControlEvent<Void> {
        let source = self.methodInvoked(#selector(setter: Base.isHighlighted)).map { _ in }
        return ControlEvent(events: source)
    }
}

现在您可以使用观察属性的更改isHighlighted

imageView.rx.isHighlighted.bind {
    if imageView.isHighlighted {
        // do something here
    }
}


推荐阅读