我正在尝试在 Swift 中扩展 UIGestureRecognizer,我希望所有手势都受此影响。
如果我愿意。
extension UIPanGestureRecognizer {
public override var state: UIGestureRecognizerState {
get {
return self.state
}
set(newState) {
self.handleStateChange(newState)
}
}
}
它仅在我执行 a 但仅适用于 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 中寻找答案。
最佳答案
听起来你想要的是一个子类。子类可以覆盖其父类(super class)的属性。
class MyPanGestureRecognizer: UIPanGestureRecognizer {
override var state: UIGestureRecognizerState {
get {
return self.state
}
set(newState) {
print(newState)
}
}
}
关于ios - 在 Swift 中扩展 UIGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36757030/