1
我想在Swift中扩展UIGestureRecognizer,我希望所有手势都受到这个影响。在Swift中扩展UIGestureRecognizer
如果我这样做。
extension UIPanGestureRecognizer {
public override var state: UIGestureRecognizerState {
get {
return self.state
}
set(newState) {
self.handleStateChange(newState)
}
}
}
,如果我做了,但只针对Pan
,LongPress
或任何姿势我想会影响它才会起作用。我无法为所有人做到这一点。如果我为所有人做,那么它会带着错误回来。
'Property does not override any property from its superclass'
'Getter for 'state' with Objective-C selector 'state' conflicts with method 'state()' with the same Objective-C selector.
如果我删除override
它只是回来了底部的错误。我正在Swift中寻找答案。
我想影响所有的手势,所以创建一个新的子类不会有帮助。 –
您可以创建'UIGestureRecognizer'的子类(它本身就是'UIPanGestureRecognizer'的超类)并覆盖其状态属性。然后你可以在你的代码中使用这个子类。 – Evan
这只会创建UIGestureRecognizer的另一个子类,但不会影响需要受影响的父类。 –