2013-07-22 7 views
13

Ich muss eine Rasteransicht mit dynamisch wechselnden Bildern implementieren.Erstellen einer Rasteransicht unter iOS

Meistens verwende ich eine UITableView, um ein Raster zu erstellen, aber ich habe Probleme mit dem Speicher, wenn ich eine große Anzahl von Bildern habe.

In iOS 6 wurde die UICollectionView hinzugefügt, aber ich habe es noch nie zuvor verwendet.

Was sind einige "Best Practices" und Unterklassen zum Erstellen einer Rasteransicht, sodass ich keine Speicherprobleme habe?

+1

UICollectionView scheint für diese perfekt. – rocky

Antwort

8

Ich würde mit UICollectionView gehen, wie Sie sagten. Sie können diese answer tatsächlich sehen, wo Sie bereits erstellte Bibliotheken sehen können.

+0

unterstützt UICollectionView auf älteren Geräten? – ekant

+0

Sie können einen Ersatz verwenden: https://github.com/steipete/PSTCollectionView – Peres

+0

@DeepakKhare: UICollectionView ist für iOS 6+ verfügbar.Ich würde nicht mehr länger die Unterstützung von etwas weniger als iOS6 angesichts der erstaunlichen Aufnahme (93% aller Geräte auf iOS 6+) tun, also mit UICollectionView gehen. –

3

Ich habe PSTCollectionView verwendet und es rückwärts kompatibel mit iOS 5 und iOS 4.3. UICollectionView ist nur iOS6 +. Es hat praktisch die gleiche API wie UICollectionView.

GMGridView ist auch eine beliebte Wahl zum Erstellen von Rasteransichten.

+0

Ich habe auch PSTCollectionView verwendet und es ist ziemlich solide. Wenn Sie jedoch keine Abwärtskompatibilität mit iOS 5 oder früher benötigen, empfehle ich stattdessen die Verwendung von UICollectionView. Es gibt * viele * Beispiele und Tutorials im Internet. –

28

UICollectionView ist in iOS 6.0 und höher verfügbar, daher kann es nicht verwendet werden, wenn Sie frühere Versionen unterstützen möchten.

Es gibt durchaus ein Open-Source-Bibliotheken, die Sie Tabellenansichten erstellen lassen:

Ich verwende derzeit AQGridView, und ich habe festgestellt, dass es die robusteste ist. Es funktioniert genau wie ein UITableView. Evadne Wu hat eine video und sample project erstellt, die zeigen, wie man es benutzt.

Wenn Sie dies ohne Verwendung von Interface Builder versuchen, sollten Sie daran denken, dass es etwas schwieriger wird, da Sie die Ansichten programmgesteuert erstellen müssen.

+0

AQGridView ist nett –