2014-11-23 48 views
1

我有一个平底锅的手势,我需要检查手势何时开始。在Objective-C,你可以使用过载gestureRecognizerShouldBegin与UIPanGestureRecognizer在迅速

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 

,并有可能与UIPanGestureRecognizer

- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer 

但在迅疾

override func gestureRecognizerShouldBegin(gestureRecognizer: UIPanGestureRecognizer) -> Bool { 

重载它不工作,并返回

重写方法与选择器'gestureRecognizerShouldBegin:'具有不兼容的类型'(UIPanGestureReco gnizer) - > Bool'

如何在swift中重载此方法?

回答

0

删除覆盖,不要忘记添加UIGestureRecognizerDelegate扩展。

您可以在类的底部添加它

class YourViewController: UIViewController { 
    // You class declaration 
} 

extension YourViewController: UIGestureRecognizerDelegate { 
    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool { 
     // 
     return true 
    } 
} 
+0

你并没有真正回答问题是'如何超载手势识别器应该为PanGestures开始' – Macistador 2015-05-20 13:44:10

2

你并不需要重载的方法,你可以这样做,而不是:

override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool { 
    if let panGesture = gestureRecognizer as? UIPanGestureRecognizer { 
     return ... 
    } 
    else { 
     return ... 
    } 
}