UIcollectionView - Создание горизонтально прокручиваемого пейджера, заполненного сеткой элементов - PullRequest
0 голосов
/ 26 февраля 2019

Я разрабатываю порт приложения из Android.В моем приложении На одном из экранов я представляю пользователю набор параметров, сгруппированных по разделам.Каждый раздел представлен в виде страницы элементов мозаичного изображения в разбиваемой сетке.Пользователь может прокручивать разделы по горизонтали, как в пейджере, в то время как страницы не прокручиваются по вертикали.Кроме того, в верхней части экрана есть интерактивные вкладки, показывающие все доступные разделы по названию.На Android я достиг этого, создав вложенные RecyclerViews (один lvl для разделов, один для плиток) в сочетании с DiffUtil для быстрого обновления контента.Я совершенно новичок в разработке под iOS, но я хочу создать нечто подобное.После небольшого погружения в базовые компоненты он выглядит так, как будто UICollectionView может быть самым правильным решением.В моем приложении я пытаюсь использовать подход MVVM с использованием RxSwift и RxDataSource.Последний имеет поддержку секционированного UICollectionView, и мне интересно, есть ли возможность создать весь вид с помощью одного UICollectionView.Разделы будут прокручиваться по горизонтали, и каждый раздел будет содержать элементы сетки?Или, может быть, я могу вложить один RxDataSource в другой.Или, может быть, я не могу использовать RxDataSource для этого, и я должен попробовать что-то еще.Чтобы пояснить, о чем я говорю, я включу image

Я был бы очень благодарен за любой совет, потому что я не мог найти что-нибудь полезное своими руками.

1 Ответ

0 голосов
/ 26 февраля 2019

Я бы настроил его как:

  • UICollectionView (основной)

    • UICollectionViewCell (одна ячейка для всего экрана - горизонтальная прокрутка)
      • UICollectionView (внутри ячейки)
        • UICollectionViewCell (s) (вертикальная прокрутка)

Youможет иметь ячейку, занимающую весь экран или являющуюся маленьким прямоугольником, решать только вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...