首页 > 解决方案 > 奇怪的索引行为 UICollectionView

问题描述

我有一个包含 64 个项目的 UICollectionView。用户之前可以点击屏幕中的各种选项,我的目标是将此轮播加载到用户选择的索引/项目中。

我们在屏幕上同时显示 3 个项目,它们的选择居中。

因此,如果用户从前一个屏幕中选择项目 8,当我们推送时,我希望集合视图位于项目 8 上,他们仍然会在屏幕两侧看到 7 和 9。

所有这些都有效,但我得到了一些奇怪的分页行为。

viewDidAppear

carousel.selectItem(at: IndexPath(row: selectedId, section: 0), animated: false, scrollPosition: .centeredHorizontally)
carousel.reloadData()

但是当我向左或向右翻页时,它似乎总是在第一个索引上,而不是用户选择的那个。

关于我在这里做错了什么的任何线索?谢谢

标签: iosswift

解决方案


可能是您需要在选择项目之前重新加载数据。
也可以尝试: scrollToItem(at: selectedItemIndexPath, at: .center, animated: false)


推荐阅读