Ios 删除项目后停止UICollectionView更新布局
我有一个水平布局的collectionView,其中选定的单元格应该位于屏幕的中心 我的问题是,Ios 删除项目后停止UICollectionView更新布局,ios,swift,layout,uicollectionview,cell,Ios,Swift,Layout,Uicollectionview,Cell,我有一个水平布局的collectionView,其中选定的单元格应该位于屏幕的中心 我的问题是, 如果位于居中单元格左侧的单元格被删除,collectionView会根据需要更新布局并设置剩余单元格的动画,以便我当前选择的单元格(应保持居中)向左移动一个索引。 如何防止这种情况发生?您可以保存单元格的位置: var offsets = [IndexPath:CGFloat]() public func getScrollPosition() -> CGFloat { re
如果位于居中单元格左侧的单元格被删除,collectionView会根据需要更新布局并设置剩余单元格的动画,以便我当前选择的单元格(应保持居中)向左移动一个索引。
如何防止这种情况发生?您可以保存单元格的位置:
var offsets = [IndexPath:CGFloat]()
public func getScrollPosition() -> CGFloat {
return collectionView.contentOffset.x
}
检查是否删除了未居中的单元格,并在删除单元格后设置
collectionView.setScrollPosition(x: offsets[indexPath] ?? 0)
您可以保存单元格的位置:
var offsets = [IndexPath:CGFloat]()
public func getScrollPosition() -> CGFloat {
return collectionView.contentOffset.x
}
检查是否删除了未居中的单元格,并在删除单元格后设置
collectionView.setScrollPosition(x: offsets[indexPath] ?? 0)
每次删除项目时,您都需要使用以下功能,以便将所选项目保留在中心。您可以将scrollPosition设置为
.center
func scrollToItem(at indexPath: IndexPath,
at scrollPosition: UICollectionView.ScrollPosition,
animated: Bool)
有关详细信息,您可以查看此链接每次删除项目时,您都需要使用以下功能,以便将所选项目保留在中心位置。您可以将scrollPosition设置为
.center
func scrollToItem(at indexPath: IndexPath,
at scrollPosition: UICollectionView.ScrollPosition,
animated: Bool)
有关更多信息,您可以查看此链接