我有一个包含64个项目的UICollectionView。用户之前可以点击屏幕上的各种选项,我的目标是将此轮播加载到用户选择的索引/项目中。
我们同时在屏幕上显示3个项目,并且将它们的选择居中显示。
因此,如果用户从上一个屏幕中选择项目8,则在我们按下按钮时,我希望收藏视图位于项目8上,他们仍然会在侧面屏幕上看到7和9。
所有这些都有效,但是出现了一些奇怪的分页行为。
在viewDidAppear
中:
carousel.selectItem(at: IndexPath(row: selectedId, section: 0), animated: false, scrollPosition: .centeredHorizontally)
carousel.reloadData()
但是当我向左或向右翻页时,它似乎总是位于第一个索引上,而不是用户选择的那个索引上。
关于我在这里做错了什么的任何线索吗?谢谢
答案 0 :(得分:0)
是否可能需要在选择项目之前重新加载数据。
也可以尝试:
scrollToItem(at: selectedItemIndexPath, at: .center, animated: false)