In der Praxis verwendet jeder UICollectionView, auf den ich gestoßen bin, wenn er nur ein UITableView benötigt. "Es ist eindimensional. Es geht auf und ab. Warum fügen Sie unnötige Delegierungsmethoden für Layout UND Daten hinzu?" Ich habe einmal zusätzliche 2 Stunden damit verbracht, einem Startup zu helfen, herauszufinden, warum seine UICollectionViewCell gequetscht wurde, weil der Besitzer, der weder das Animationshandbuch noch HIG oder das UICollectionView-Handbuch gelesen hat, beschlossen hat, es zu verwenden und variable Höhen und Ziele hinzuzufügen. Unnötig zu erwähnen, dass er sich selbst Kopfschmerzen bereitete und viel Zeit für ein nicht geschäftskritisches Problem verlor, das er durch die Verwendung einer Tabellenzelle hätte vermeiden können, da es keinen zusätzlichen Layout-Delegierten + Feder gibt.
Lassen Sie mich das klarstellen. Ich bin alles für UICollectionView, wenn Ihre Daten und Ihre Anzeige dies benötigen. Sie sind sehr mächtig. Aber in der Praxis haben die meisten Leute, die ich gesehen habe, sie auf Listen verwendet.
Dies bringt einen weiteren Fehler mit sich. Sie werden auch auf kurzen, konstanten Listen verwendet, die sich niemals ändern werden. In diesem Fall machen Sie einfach eine Xib. Oder schreiben Sie eine benutzerdefinierte Ansicht, die sie stapelt. Warum? Weil Sie die Speicherverwaltung für 5 Sätze von Etiketten mit einer Schaltfläche oder einem Schalter nicht benötigen. Wenn sie sich ändern könnten, verwenden Sie eine Liste. Wenn Sie Physik wollen, dann funktioniert UICollectionView gut mit einigen coolen Effekten. Aber müssen Sie wirklich 5 Delegierungsmethoden und ein Layoutsystem für 5 Beschriftungen hinzufügen, die sich niemals bewegen werden?
Außerdem vergesse ich nicht, dass iOS jetzt auch eine native Stapelansicht hat. Ich kann es nie dazu bringen, mich zu verformen, wie ich will, obwohl ich mit den 2D- und Animationssystemen ziemlich vertraut bin, also benutze ich nie das eingebaute.
Ich sage nur, definieren Sie Ihre Anforderungen. Möglicherweise benötigen Sie beides nicht, wenn Ihre Benutzeroberfläche keine Elemente hinzufügt / entfernt und sich selbst aktualisiert. Oder vielleicht möchten Sie ein Kartenspiel schreiben und es virtuell auf einen Tisch werfen und dann UICollectionView mit einem Physiksystem als Layout-Leitfaden verwenden.