Yes, that's a clean way to do it with func collectionView(_ collectionView: UICollectionView, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) - IndexPath
And gives equivalent result to what I proposed.
Note: for user experience, alerting (as I explained) why he cannot move would be useful.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: