Einrichten einer UICollectionView in iOS

9

Ich habe nach Möglichkeiten gesucht, ein UICollectionView für eine iOS-App einzurichten. Google zeigt nur ein paar Blogs mit Posts über was es ist, nicht wie es funktioniert. Dann gibt es natürlich die Apple-Dokumentation, die hilfreich ist, aber nicht so viele Informationen bereitstellt, wie ich ein UICollectionView einrichten könnte.

Wie kann man UICollectionView einrichten?

    
Samuel Spencer 29.09.2012, 16:11
quelle

2 Antworten

32

Die Klasse ist fast identisch mit der gekennzeichnet sind. Klasse. Sie teilen viele der gleichen Methoden und Funktionen. Und wenn die Methoden / Funktionen unterschiedlich sind, ist es meistens nur eine Frage des Austauschens von "Zeile" für "Zelle" und umgekehrt. Allerdings gibt es ein paar Methoden, die nicht in UICollectionView existieren, die auf UITableView funktionieren. Zuerst werde ich erklären, wie man eine UICollectionView einrichtet:

  1. Beginnen Sie, indem Sie Ihre UICollectionView zu einem aktuellen ViewController hinzufügen oder einen neuen UICollectionViewController erstellen. Die Schritte unterscheiden sich nicht so sehr für die Ansicht und den Controller.
  2. Wenn Sie die Ansicht und nicht den ViewController verwenden, stellen Sie sicher, dass die Delegierte und DataSource der CollectionView der Ansichtscontroller ist, auf dem sie sich befindet. Stellen Sie außerdem sicher, dass Sie die Delegate- und DataSource-Datei zu Ihrer Header-Datei hinzufügen: <UICollectionViewDataSource, UICollectionViewDelegate>

  3. Stellen Sie als Nächstes sicher, dass Sie diese drei Methoden in die Klasse Ihres View-Controllers einschließen:

    %Vor%
  4. Dies sind die einzigen erforderlichen Methoden. Die erste teilt der Sammlungsansicht die Anzahl der Abschnitte mit, die sie haben sollte. Dies sollte einen ganzzahligen Wert zurückgeben. Die zweite Methode erhält die Anzahl der Zellen in jedem Abschnitt. Auch dies sollte einen ganzzahligen Wert zurückgeben. Die letzte Methode füllt jede Zelle mit den angegebenen Daten (normalerweise von einem NSArray). Diese letzte Methode sollte eine CollectionViewCell zurückgeben. Wenn Sie für diese Methode Haltepunkte festlegen, stellen Sie fest, dass sie einmal für jede Zelle aufgerufen werden, die in der Methode numberOfItemsInSection definiert ist.

UICollectionViews bieten erweiterte Animationsmethoden und ermöglichen die Auswahl und Auswahl von Zellen (ähnlich wie Apps im Bearbeitungsmodus). Nach meinem Wissen bieten UICollectionViews jedoch keine Features wie "Swipe to delete" oder eine Art Offenbarungsindikator.

Mit UICollectionViews können Sie auch benutzerdefinierte Zellen erstellen, indem Sie (AKA < a href="/ questions / tagged / nib" class="post-tag" title="Zeige Fragen markiert 'nib'"> nib ) Dateien, dies ermöglicht einige sehr fortschrittlich und einzigartige Schnittstellen ohne viele von komplizierten Code.

Leider wird UICollectionView nur in iOS 6 und höher unterstützt. Es gibt ein paar Projekte wie PSTCollectionView , die Unterstützung für CollectionViews in iOS 4.3 + hinzufügen, aber ich habe nicht herausgefunden, wie das geht benutze sie. In meinem Fall, wenn die Ansicht geladen wird, überprüfe ich einfach, ob die UICollectionView-Klasse verfügbar ist, und wenn dies nicht der Fall ist, lade ich stattdessen eine Tabelle.

Hier finden Sie einen Link zu Apples offizieller Dokumentation zu Collection Views . Vielleicht möchten Sie auch dieses Tutorial lesen.

    
Samuel Spencer 29.09.2012, 16:11
quelle
25

Ich habe ein schrittweises Tutorial erstellt, um UICollectionViews mit benutzerdefinierten Layouts einzurichten. Hoffentlich hilft es einigen Leuten, sich mit der API vertraut zu machen.

    
bryguy1300 04.12.2012 00:45
quelle