0

Есть ли способ выбрать все события UIGestureRecognizer одним способом? (кроме того, направляя все их селекторы на один и тот же метод).забрать все события UIGestureRecognizer в обратном вызове?

Так, например:

// Add Gesture Recogniser (Long Press) 
    let longPressGR = UILongPressGestureRecognizer(target: self, action: #selector(GcMapView.longPressAction(_:))) 
    longPressGR.minimumPressDuration = 1 
    self.addGestureRecognizer(longPressGR) 

    // Add Gesture Recogniser (Pan) 
    let mapDragRecognizer = UIPanGestureRecognizer(target: self, action: #selector(GcMapView.panAction(_:))) 
    mapDragRecognizer.delegate = self 
    self.addGestureRecognizer(mapDragRecognizer) 

    // Add Gesture Recogniser (Pinch) 
    let pinchGestureRecogniser = UIPanGestureRecognizer(target: self, action: #selector(GcMapView.pinchAction(_:))) 
    pinchGestureRecogniser.delegate = self 
    self.addGestureRecognizer(pinchGestureRecogniser)  

    // SOME METHOD NOW TO PICKUP ALL EVENTS 
    func PICKUPALLEVENTS (sender:UIGestureRecognizer) { 
     print("(String(gestureRecognizer.dynamicType) - \(gestureRecognizer.state.hashValue) ") 
    } 
+0

Пожалуйста, объясните, что вы подразумеваете под «пикапом». Какую информацию вы хотите получить, которую не могли получить, заставив всех распознавателей жестов вызвать одно и то же действие? –

+0

информация в функции PICKUPALLEVENTS (см. Выше) – Greg

+0

В одном методе действий вы не могли бы сохранить переменную экземпляра для каждого распознавателя жестов или перебирать через 'self.gestureRecognizers' и вызывать' dynamicType' и 'state.hash 'по каждому? –

ответ

2

Нет, я не думаю, что есть какой-нибудь способ сделать это.

0

Вы пробовали добавить UIGestureRecognizer к своей цели, а затем проверить динамический тип UIGestureRecognizer в селекторе?

+0

хорошая идея - на самом деле позволяет мне вставлять этот код и строить, но ничего не происходит, так что не кажется работать – Greg

+0

Ничего не происходит, так как в нем не называется селектор? – QuantumHoneybees

+0

Да. Правильно – Greg