Ios 在所有应用程序中检测手势

Ios 在所有应用程序中检测手势,ios,swift,swift3,Ios,Swift,Swift3,我打算在我的应用程序上检测所有的双指向下滑动手势 我扩展了Window类,并添加了以下内容: public extension UIWindow { func initGestureTouch() { let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(handleGesture)) swipeDown.direction = .down swi

我打算在我的应用程序上检测所有的双指向下滑动手势

我扩展了Window类,并添加了以下内容:

public extension UIWindow {

    func initGestureTouch() {
        let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(handleGesture))
        swipeDown.direction = .down
        swipeDown.numberOfTouchesRequired = 2
        self.addGestureRecognizer(swipeDown)
    }
}
除了滚动视图(TableView,等等)之外,它几乎在任何地方都能工作。在该视图中,只有滚动视图才能获得该手势

有办法做到这一点吗?这是一种特殊的手势,用于打开助手助手

Ps:到目前为止,我发现的唯一方法是在每个scrollview上添加双手势检测,但这对我来说还不够。

试试这个:

swipeDown.cancelsTouchesInView = True
swipeDown.delaysTouchesBegan = True
第一种情况意味着,如果被识别,触摸将不会发送到下面的视图。
第二个将在发送触摸时延迟。

你能写完整的代码吗,你如何扩展窗口类?我已经编辑了我的问题。因此,在appDelegate(didFinishLauching…)中,我添加了以下内容:self.window?.initGestureTouch()