Как решить проблему CollectionView contentOffset с горизонтальной прокруткой и вертикальной прокруткой?

#swift #uiscrollview #uicollectionview #uicollectionviewcell

#swift #uiscrollview #uicollectionview #uicollectionviewcell

Вопрос:

У меня есть такая структура раскадровки:

CollectionView (вертикальная прокрутка)> CollectionViewCell> Label CollectionView (горизонтальная прокрутка)> CollectionViewCell

То есть у меня есть первый CollectionView (вертикальная прокрутка), который выполняет вертикальную прокрутку, занимающую весь экран, внутри у меня есть CollectionViewCell с меткой для категории («Batata») и второй CollectionView (горизонтальная прокрутка), где внутри него существует CollectionViewCell, который показывает «Batatinha».

Ps: для всех CollectionViewCell использует Xibs

Моя проблема в том… когда я прокручиваю строку по горизонтали, затем прокручиваю по вертикали, есть другие строки, которые получат такое же смещение от строки, где я уже сделал горизонтальную прокрутку. Я пробовал много разных и возможных способов, но так и не понял, мое мышление не доходит. У кого-нибудь когда-нибудь была такая же проблема? Вы можете помочь?

Ответ №1:

Вы пробовали добавлять смещение в свой источник данных, возможно, сохраняя смещение в словаре, чтобы смещение присваивалось только ячейкам с правильным indexPath, т.е. offSets:[IndexPath:CGPoint]

В качестве альтернативы, если вы не хотите сохранять предыдущее смещение, вы можете сбросить смещение на collectionView.contentOffset = CGPoint.zero внутреннюю часть ColectionViewCell init() для ячейки, содержащей horriztonal CollectionView.

Надеюсь, он поможет

Удачи!