Задать вопрос
@Shannon

Как сделать переключатель между UITableView и UICollectionView?

Нужно переключиться с отображения tableview на collectionview (например, как в большинстве файловых менеджеров), то есть вначале все идет в табличном виде, а после нажатия на кнопку те же данные отображаются в формате "крупные значки".
Как можно реализовать подобное?
  • Вопрос задан
  • 2873 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • Нетология
    iOS-разработчик с нуля
    11 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Решения вопроса 3
@s0L
Вам ничего не мешает использовать только один UICollectionView, он вполне может выглядеть как UITableView, анимацию можно сделать поколдовав с layout-ами этого collection view
Ответ написан
Комментировать
Flanker_4
@Flanker_4
тут не нужна uitableview
все делается средствами uicollectionview
почитайте поподробней документацию. если не вдаваться в детали, то Вам нужно объявить два lyouta collection view, один списковой, второй плиточный. и при изменении отображения выбирать нужный layout через setCollectionViewLayout:

https://developer.apple.com/library/ios/documentat...
Ответ написан
Комментировать
kaspartus
@kaspartus
Ну тут на свой вкус.
- Можно положить UITableView и UICollectionView на одну вьюху и просто менять альфу.(Тут думаю и так все понятно)
- Можно сделать красивый переход(гуглить "custom transition ios 7"), но это может поломать порядок UIViewController, если они лежат в UINavigationController.

Из общих моментов:
- Я бы вынес реализацию всех делегатных методов в отдельный класс, это сильно повысит читаемость класса UIViewController, которому они будут принадлежать.( www.objc.io/issue-1/lighter-view-controllers.html )
- В качестве переключателя я бы использозвал UISegmentedControl, находящийся в верхнем баре, но никто не мешает придумать, что-то свое.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы