Berührungsort von uicollectionviewcell erhalten

9

Ich versuche den Touch-Ort innerhalb des ausgewählten zu bekommen UICollectionviewCell. Ich habe einen UIViewController, VC, der eine UICollectionView, collectionView, als seine Ansicht enthält. In der CollectionView befinden sich UICollectionViewCells. Der VC stimmt mit dem UICollectionViewDelegate überein, also möchte ich den berührten Ort innerhalb des Delegaten-Callbacks, collectionView:(UICollectionView *)collection didSelectItemAtIndexPath:(NSIndexPath *)indexPath (wenn möglich) erhalten. Irgendeine Empfehlung, wie man das macht? Danke.

%Vor%

* UPDATE * Am Ende habe ich den Abgriff auf UIViewCollectionView mit dem UIGestureRecognizer erkannt und dann den Abgriffspunkt in die UICollectionViewCell -Ansicht umgewandelt. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt. Danke.

%Vor%     
Loozie 07.04.2014, 23:09
quelle

4 Antworten

5

Sie werden wahrscheinlich eine benutzerdefinierte Zelle benötigen, um dies zu tun. didSelectItemAtIndexPath sagt nur, dass eine Zelle ausgewählt wurde. Nicht wo in der Zelle es berührt wurde.

    
CrimsonChris 07.04.2014, 23:45
quelle
1

UIView hat eine Methode func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? . Um den Berührungspunkt zu erhalten, können Sie diese Methode in Ihrer Sammlungsansicht oder Sammlungsansichtszelle überschreiben.

Und es gibt Methoden wie func convertPoint(_ point: CGPoint, toView view: UIView?) -> CGPoint , mit denen Sie Punkte in verschiedenen Koordinatensystemen konvertieren können.

    
Jaybo 18.06.2016 07:43
quelle
0

Erhalte indexPath, um diesen Code auszuprobieren ..

%Vor%     
bhadresh 22.12.2016 05:43
quelle
0

Sie sollten die Eigenschaft zum Speichern der Berührungsstelle in der UICollectionViewCell hinzufügen.

%Vor%

Fügen Sie dann das Ereignis von touchesBegan in YourCollectionViewCell.m

hinzu %Vor%

Schließlich können Sie den touchPoint in Ihrer UICollectionView verwenden

%Vor%

Ich denke, es ist der einfachste Weg, den Touch-Standort zu bekommen. Und ich benutze es in meinen Codes.

    
evolrof 08.09.2017 04:04
quelle