如何解决水平滚动和垂直滚动的 CollectionView contentOffSet 问题?

Posted

技术标签:

【中文标题】如何解决水平滚动和垂直滚动的 CollectionView contentOffSet 问题?【英文标题】:How to solve CollectionView contentOffSet problem with Horizontal scroll and vertical scroll? 【发布时间】:2019-04-13 13:09:37 【问题描述】:

我有一个故事板结构:

CollectionView(垂直滚动)> CollectionViewCell> Label + CollectionView(水平滚动)> CollectionViewCell

也就是说,我有第一个 CollectionView(垂直滚动),它垂直滚动占据整个屏幕,在里面我有一个 CollectionViewCell,它有一个类别标签(“Batata”)和第二个 CollectionView(水平滚动),里面它存在显示“Batatinha”的collectionViewCell。

Ps:对于所有 collectionViewCell 使用 Xibs

我的问题是......当我在一条线上水平滚动时,然后我垂直滚动,还有其他线将与我已经完成水平滚动的线获得相同的偏移量。 我尝试了许多不同且可能的方式,但从未得到它,我的想法没有到达那里。 有没有人遇到过同样的问题?你能帮忙吗?

【问题讨论】:

【参考方案1】:

您是否尝试过将偏移量添加到数据源中,或者将偏移量存储在字典中,以便仅将偏移量分配给具有正确 IndexPath 的单元格 即offSets:[IndexPath:CGPoint]

作为替代方案,如果您不想存储以前的偏移量,您可以将偏移量重置为 ColectionViewCell 的 init() 内的 collectionView.contentOffset = CGPoint.zero,用于包含 horriztonal CollectionView 的单元格。

希望他的帮助

祝你好运!

【讨论】:

以上是关于如何解决水平滚动和垂直滚动的 CollectionView contentOffSet 问题?的主要内容,如果未能解决你的问题,请参考以下文章

水平 UIScrollView 内部有垂直 UIScrollViews - 滚动外部水平视图时如何防止滚动内部滚动视图?

如何启用垂直滚动的滚动条并禁用水平滚动?

如何从 Eclipse 编辑器中删除/隐藏垂直和水平滚动条?

创建具有水平和垂直滚动的 RecyclerView

如何使 UITableView 水平和垂直滚动

如何隐藏水平滚动条并保持垂直滚动条可见,同时仍然能够水平滚动?