Ich habe eine iPad App, wo ich eine UICollectionView verwende und jede UICollectionViewCell nur ein einziges UIImage enthält. Momentan zeige ich pro 9 UIImages (3 Zeilen * 3 Spalten) pro Seite an, ich habe mehrere Seiten.zoom gesamte UICollectionView
Ich möchte Pinch Gesture verwenden, um auf die gesamte UICollectionView zu zoomen, um die Anzahl der pro Seite angezeigten Zeilen/Spalten zu erhöhen bzw. zu verringern. Am besten wäre eine schöne Zoom-Animation während der Pinch-Geste!
Derzeit habe ich eine Pinch-Geste auf meiner UICollectionView hinzugefügt. Ich fange die Pinch-Geste Ereignis die Anzahl der Zeilen/Spalten zu berechnen, den Skalierungsfaktor verwendet wird, wenn es dann geändert hat ich die volle UICollectionView aktualisieren mit:
[_theCollectionView performBatchUpdates:^{
[_theCollectionView deleteSections:[NSIndexSet indexSetWithIndex:0]];
[_theCollectionView insertSections:[NSIndexSet indexSetWithIndex:0]];
} completion:nil];
Es funktioniert, aber ich habe keine glatte Animation während der Übergang.
Irgendeine Idee? UICollectionView erbt von UIScrollView, gibt es eine Möglichkeit, die UIScrollView Pinch-Gesten-Funktion erneut zu verwenden, um mein Ziel zu erreichen?
Das ist nicht der richtige Weg, um Skalierung zu handhaben, Sie erzwingen im Grunde eine Neuzeichnung der gesamten SammlungView, wenn diese Funktion bereits von Layout-Invalidation unterstützt wird. [[CollectionView.collectionViewLayout invalidateLayout] '. Ich habe eine Antwort mit einer ausführlicheren Erklärung und einem Beispiel hinterlassen. – Can
Bitte, können Sie mehr Details dazu hinzufügen? – sebastien