は、Appleのドキュメントを参照してくださいcollectionView(_ collectionView: UICollectionView, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) -> IndexPath
を使用してみてください:アイテムのインタラクティブな移動中にhttps://developer.apple.com/documentation/uikit/uicollectionviewdelegate/1618052-collectionview
、コレクションビューは、あなたが提供したいかどうかを確認するために 、このメソッドを呼び出します提案されたパス より異なるインデックスパス。このメソッドを使用して、ユーザーが のアイテムを無効な場所にドロップしないようにすることができます。たとえば、ユーザーが を使用して、特定のセクションにアイテムがドロップされないようにすることができます。
ですから、例えば、あなたはあなたができる最後のセルとセルを並べ替え防ぐしたい場合:
func collectionView(_ collectionView: UICollectionView, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) -> IndexPath {
if proposedIndexPath.row == data.count {
return IndexPath(row: proposedIndexPath.row - 1, section: proposedIndexPath.section)
} else {
return proposedIndexPath
}
}
私たちはあなたを助けるために、より多くのコンテキストが必要になります。セルに関する達成したいレイアウトを示すスキーマまたはXIBファイルを提供できますか?彼ら(移動しない人)は特定の地位を持っていますか? – Balanced