Here’s an open source UI component providing an easy-to-implement Swift based grid view with support for drag and drop re-ordering called ReorderableGridView from Cem Oclay.
ReordorablegridView supports views of the same width, but the views can be of differing heights, and you can add/remove views. ReordorablegridView is based on UIScrollView rather than UICollectionView.
Here’s an animation from the readme showing off the drag/drop and add/remove functionality:
You can find Reordorable on Github here.