UICollectionView indexPathForItemAtPoint gibt dasselbe Element trotz Bildlauf zurück

7

Wie lautet die richtige Syntax für die Verwendung von UICollectionViews indexPathForItemAtPoint?

Ich verwende den folgenden Code, um zu versuchen, die Zelle zu identifizieren, die sich in der Mitte der UICollectionView befindet, während ich durch sie scrolle.

%Vor%

Allerdings gibt mir das immer den gleichen indexPath zurück, egal wie ich scrollte.

Was mache ich falsch?

    
theDuncs 23.01.2014, 15:16
quelle

4 Antworten

32

Sie suchen nach einem statischen Punkt in einem statischen Zellenfeld. Ja, du wirst immer die selbe Zelle bekommen.

Um mit dem Scrollen fertig zu werden, müssen Sie die Scrollview-Position in Ihren Check einfügen. Etwas wie das:

%Vor%     
Putz1103 23.01.2014, 15:28
quelle
1

Ein Beispiel dafür, wo Sie dies tun möchten, ist, wenn Sie eine Geste in der UICollectionView erfassen und dann etwas mit dem bestimmten Element in der UICollectionView ausführen möchten, das unter dem Ort der Wischgeste liegt. Der folgende Code als eine Methode in Ihrem UICollectionViewController gibt die richtige Zelle zurück und berücksichtigt Scrollen innerhalb der Sammlungsansicht.

%Vor%

Sie können die obige Methode in einem Kontext wie diesem aufrufen (wobei revealSupplementalControls eine benutzerdefinierte Methode für Ihre UICollectionViewCell-Klasse ist):

%Vor%     
Duncan Babbage 30.08.2014 03:57
quelle
1

Gehen Sie folgendermaßen vor, wenn Sie in Swift eine bestimmte UICollectionViewCell mit einem UILongPressGesture abrufen möchten

%Vor%     
n6xej 15.04.2016 08:07
quelle
0

Duncan, so funktioniert es für mich in Swift:

%Vor%

Sie müssen die Scroll-Ansicht der Sammlungsansicht berücksichtigen.

    
quelle