Я хочу реализовать кросс-макет точно так же, как приложение Wallapop в своей основной ленте.
Как видите, он состоит из двух групп ячеек
(Избранные предметы, Предметы рядом с вами) .Первая группа прокручивается по горизонтали, а вторая группа прокручивается по вертикали.
Первый компонент UIKit, который мне пришёл в голову при создании такого рода макетов, - UICollectionView
, имеющий по одному разделу для каждого направления прокрутки.К сожалению, UICollectionView
текущая реализация очень ограничена, заставляя прокручивать только в одном направлении, независимо от того, сколько разделов вы объявляете.
Так что я хотел попробовать его с ванильными компонентами UIKit, и это то, что я получил;
Проблема с моим решением заключается в том, что вертикальная
UICollectionViewController
(выделена зеленым цветом) сама прокручивается и не сдвигает горизонтальную
UICollectionViewController
s вверх.
Я также думал об использовании одиночного UICollectionViewController
для вертикальных ячеек и установке UIStackView
с горизонтальными UICollectionViewController
с, необходимыми для горизонтальных ячеек, но это грязное решение и не масштабируетсяочень хорошо, я даже не мог установить заголовок для вертикальной секции ячеек, если я выбрал этот способ.
В идеале, я хочу, чтобы каждая группа прокручиваемых ячеек была своей собственной UIViewController
, чтобы иметь четкуюразделение задач и модульность.
Есть ли лучший способ реализовать макет, подобный тому, который я хочу, с ванильными компонентами UIKit?