UICollectionView kann keine Zellen anzeigen

7

Ich versuche, eine UICollectionView in einem modal präsentierten View-Controller anzuzeigen. Die App ist für iPad iOS 7.

Ich habe eine Unterklasse von UIViewController (mit einer Spitze) erstellt und sie wie folgt hinzugefügt:

%Vor%

Dieser View-Controller soll der Delegate und die dataSource für meine UICollectionView sein, also habe ich UICollectionViewDataSource und UICollectionViewDelegate zur Kopfzeile hinzugefügt.

Ich habe eine UICollectionView in die Schreibfeder eingefügt und MyViewController eine Steckdose hinzugefügt:

%Vor%

Ich habe dies in viewDidLoad in MyViewController hinzugefügt:

%Vor%

Ich habe dem MyViewController auch Folgendes hinzugefügt:

%Vor%

Ich habe auch eine Unterklasse von UICollectionViewCell mit dem Bezeichner MyCell eingerichtet und ein UIImageView mit dem Tag 100 hinzugefügt.

Immer wenn ich diesen View-Controller erstelle, bekomme ich die Navigationsleiste wie erwartet, aber die UICollection-Ansicht, die ich meiner Spitze hinzugefügt habe, ist nirgends zu sehen. Alles, was ich sehe, ist schwarz, wo die Ansicht der Sammlung sein sollte. Wenn ich die Hintergrundfarbe von MyCollectionView von standardmäßig auf weiß ändere, sehe ich weiß, wo die Sammlungsansicht sein sollte. Es scheint MyCollectionView aufzurufen, zeigt aber keine Zellen an.

    
beev 30.09.2013, 13:34
quelle

2 Antworten

20

Wenn Sie Ihre collectionView und ihre eigene dataSource und delegieren Sie in Ihrer xib-Datei verknüpfen, müssen Sie dies nicht in Ihrem Code einrichten.

Als nächstes müssen Sie Ihre UICollectionViewCell registrieren:

%Vor%

CollectionViewCell_XIB ist der Name Ihrer Zellen-XIB CollectionViewCell_ID ist die ID Ihrer Zelle

Und Sie müssen cellForItemAtIndexPath folgendermaßen implementieren:

%Vor%     
Jordan Montel 30.09.2013, 13:43
quelle
24

Ein weiterer interessanter Punkt ist, dass Sie, wenn Sie den Bezeichner der Zelle in der nib oder im Storyboard festlegen, die nib / class nicht im Collectionsview-Controller registrieren. Tun Sie das eine oder das andere, aber nicht beides.

    
guptron 07.11.2013 13:23
quelle