UICollectionView重新排序不可移动的单元格问题

Ree*_*eng 4 ios uicollectionview

我正在使用iOS 9的酷重新排序功能制作UICollectionView.我可以通过在该- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath索引路径的数据源函数中返回No来使单元格无法移动.

但是,我发现电池可以用可移动物品替换,这是不可取的.

例如,

我们无法移动第3项(截图).

但它可以成为其他单元格移动到的目标索引路径(屏幕截图).

第三个细胞真正修复的好主意吗?

Mad*_*Nik 10

假设indexpath = {x,y}处的项目无法移动.尝试使用以下委托方法.

collectionView(_:targetIndexPathForMoveFromItemAtIndexPath:toProposedIndexPath:)
Run Code Online (Sandbox Code Playgroud)

如果建议的索引路径等于,{x,y}则为项提供所需的索引路径.防爆{x+1,y}

来自文档:

在交互式移动项目期间,集合视图调用此方法以查看是否要提供与建议路径不同的索引路径.您可以使用此方法来防止用户将项目放在无效位置.例如,您可能会阻止用户删除特定部分中的项目.