W praktyce każdy używa UICollectionView, z którym się spotkałem, gdy potrzebuje tylko UITableView. „Jest jednowymiarowy. Przesuwa się w górę iw dół. Dlaczego dodajesz niepotrzebne metody delegatów dla układu ORAZ danych?”. Kiedyś spędziłem dodatkowe 2 godziny, pomagając startupowi dowiedzieć się, dlaczego ich UICollectionViewCell został zgnieciony, ponieważ właściciel, który nie przeczytał podręcznika Animations, HIG, ani przewodnika UICollectionView, zdecydował się go użyć i dodać zmienne wysokości i animacje. Nie trzeba dodawać, że przyprawił go o ból głowy i dużo straconego czasu na kwestię niekrytyczną dla biznesu, której mógł uniknąć, po prostu używając komórki tabeli, ponieważ nie ma dodatkowego delegata układu + stalówki.
Pozwól, że zrozumiem, jestem za UICollectionView, gdy Twoje dane i wyświetlacz tego potrzebują. Są bardzo potężne. Ale w praktyce większość ludzi, których widziałem, używa ich na listach.
To pociąga za sobą kolejną wadę. Są również używane na krótkich, stałych listach, które nigdy się nie zmienią. W takim przypadku po prostu utwórz plik Xib. Lub napisz widok niestandardowy, który je zestawi. Czemu? Ponieważ nie potrzebujesz zarządzania pamięcią dla 5 zestawów etykiet za pomocą przycisku lub przełącznika. Jeśli mogą się zmienić, to tak, użyj listy. Jeśli chcesz fizyki, UICollectionView działa dobrze z kilkoma fajnymi efektami. Ale czy naprawdę musisz dodać 5 metod delegatów i system układu dla 5 etykiet, które nigdy się nie poruszą?
Nie zapominam też, że iOS ma teraz również natywny widok stosu. Nigdy nie mogę zdeformować tego, jak chcę, mimo że jestem dość biegły w systemach 2D i animacji, więc nigdy nie używam wbudowanego.
Mówię tylko, określ swoje wymagania. Może nie potrzebujesz żadnego z nich, jeśli twój interfejs użytkownika nie dodaje / nie usuwa elementów i nie odświeża się. A może chcesz napisać grę karcianą i wyrzucić ją wirtualnie na stół, a następnie użyć UICollectionView z systemem fizyki jako przewodnika po układzie.