Wie füge ich UICollectionView eine Tippen-Geste hinzu, während die Zellenauswahl beibehalten wird?

Aufgab

Hinzufügen einer einzelnen Tippen-Geste zuUICollectionView, stören Sie die Zellenauswahl nicht.

Ich möchte ein paar weitere Klicks auf den zellfreien Teil von collectionView.

Cod

Mit XCode8, Swift 3.

override func viewDidLoad() {
    ...
    collectionView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tap)))
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    print(indexPath)
}

func tap(sender: UITapGestureRecognizer){
    print("tapped")
}
Ergebni

Yeah, das steht jetzt im Weg. Wenn Sie auf die Zelle tippen, wird "getippt" protokolliert.

AnalysIch überprüfe den hitTest-Rückgabewert der collectionView und der Zelle. Beide gaben die getappte Zelle zurück, was bedeutet, dass sie eine Antwortkette von Cell -> CollectionView @ bildekeine Gesten auf der Zelle 3 Gesten auf collectionView, niemand scheint mit der Zelle zu arbeiten select UIScrollViewDelayedTouchesBeganGestureRecognizer UIScrollViewPanGestureRecognizer UITapGestureRecognizercallStack, die Zellenauswahl scheint eine andere Stapelverfolgung mit dem Zielaktionsmuster der Geste zu haben.Doppeltippen funktioniert zusammen mit der Zellenauswahl.Frag

Konnte keine Spur mehr finden. Irgendwelche Ideen, wie die Zellauswahl implementiert wird oder wie diese Aufgabe gelöst werden soll?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage