На практике все используют UICollectionView, с которым я сталкивался, когда им нужен только UITableView. «Он одномерный. Он идет вверх и вниз. Почему вы добавляете ненужные методы делегирования для макета И данных?». Однажды я потратил дополнительные 2 часа, помогая стартапу выяснить, почему их UICollectionViewCell раздался, потому что владелец, который не читал ни руководство по анимации, ни HIG, ни руководство по UICollectionView, решил использовать его и добавить переменную высоту и анимацию. Излишне говорить, что у него разболелась голова и он потерял много времени из-за не критичной для бизнеса проблемы, которую он мог бы избежать, просто используя ячейку таблицы, поскольку нет дополнительного делегата макета + перо.
Позвольте мне прямо сказать, я полностью за UICollectionView, когда ваши данные и дисплей нуждаются в этом. Они очень сильные. Но на практике большинство людей, которых я видел, использовали их в списках.
Это вызывает еще один недостаток. Они также используются в коротких постоянных списках, которые никогда не изменятся. В этом случае просто создайте Xib. Или напишите собственный вид, который их складывает. Зачем? Потому что вам не нужно управление памятью для 5 наборов этикеток с помощью кнопки или переключателя. Если они могут измениться, то да, используйте список. Если вам нужна физика, то UICollectionView хорошо работает с некоторыми классными эффектами. Но действительно ли вам нужно добавить 5 методов делегата и систему макета для 5 меток, которые никогда не будут перемещаться?
Кроме того, я не забываю, что iOS теперь тоже имеет собственное представление стекирования. Мне никогда не удается заставить его деформироваться так, как я хочу, хотя я достаточно разбираюсь в 2D и анимационных системах, поэтому никогда не использую встроенную.
Все, что я говорю, это определите свои требования. Возможно, вам не нужно ни одно из них, если ваш пользовательский интерфейс не добавляет / не удаляет элементы и не обновляется. Или, может быть, вы хотите написать карточную игру и выбросить их виртуально на столе, а затем использовать UICollectionView с физической системой для ее руководства по макету.