删除上一个单元格后,UiCollectionView跳转到下一个单元格



我有全屏单元格的自定义布局。从左侧删除单元格(此时不可见(时,UICollectionView会跳到下一个单元格。这就像当前单元格的索引为4,当左边的单元格被删除时,下一个单元格的索引现在为4,并立即滚动到下一个单元。分三步描述(A是需要全屏显示的单元格,x将被删除,o其他单元格,字母是全屏显示(:

  1. ooooAoo
  2. oooxAoo
  3. oooaooo

但必须保留此oooAoo

这是我的解决方案,如果它可以帮助任何人,没有找到如何在本地实现所需的偏移量,所以只需在reloadData((后将contentOffset滚动到所需的位置:

var currentCell: MyCollectionViewCell? {  
return (visibleCells.sorted { $0.frame.width > $1.frame.width }.first) as? MyCollectionViewCell  
}  
//-----------------------------------------  
//some model manipulating code, removing desired items here...  
let currentList = currentCell?.parentList  
reloadData()  
if let list = currentList, let index = self.lists.firstIndex(of: list) {  
self.scrollToItem(at: IndexPath(row: index, section: 0), at: .centeredHorizontally, animated: false)  
} 
  • currentCell是computed属性,返回可选的中间单元格。由于自定义流程布局逻辑,检测哪个单元格最大
  • parentList是模型项,我可以通过它来比较单元格更容易。我检查了之前附加到单元格的列表reloadData((

相关内容

最新更新