为自定义 UIControl 创建 ControlProperty
Create ControlProperty for custom UIControl
是否可以扩展结构 Reactive,其中基础 class 是我从 UIControl 继承的自定义控件?
当我尝试以下代码时:
extension Reactive where Base: CustomControl {
public var value: ControlProperty<CGFloat> {
return CustomControl.rx.value(
self.base,
getter: { customControl in
customControl.customProperty
},
setter: { customControl, value in
customControl.customProperty = value
}
)
}
}
我收到以下错误:
Instance member "value" cannot be used on type 'Reactive<CustomControl>'
如果您能给我任何解释,我将不胜感激。
你可以检查这个link:https://github.com/ReactiveX/RxSwift/issues/991
方法 value
不是 public,因此您需要为其创建一个 public 版本。之后,就可以为您的自定义控件创建扩展了。
是否可以扩展结构 Reactive,其中基础 class 是我从 UIControl 继承的自定义控件?
当我尝试以下代码时:
extension Reactive where Base: CustomControl {
public var value: ControlProperty<CGFloat> {
return CustomControl.rx.value(
self.base,
getter: { customControl in
customControl.customProperty
},
setter: { customControl, value in
customControl.customProperty = value
}
)
}
}
我收到以下错误:
Instance member "value" cannot be used on type 'Reactive<CustomControl>'
如果您能给我任何解释,我将不胜感激。
你可以检查这个link:https://github.com/ReactiveX/RxSwift/issues/991
方法 value
不是 public,因此您需要为其创建一个 public 版本。之后,就可以为您的自定义控件创建扩展了。