SwiftReorder is a UITableView extension that lets you easily add drag-and-drop reordering to any table view. It's robust, lightweight, and completely customizable.
- Smooth animations
- Automatic edge scrolling
- Works with multiple table sections
- Customizable shadow, scaling, and transparency effects
To integrate SwiftReorder into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'SwiftReorder', '~> 2.0'
You can integrate SwiftReorder into your project manually by copying the contents of the Source
folder into your project.
- Add the following line to your table view setup.
tableView.reorder.delegate = self
- Add this code to the beginning of your
tableView(_:cellForRowAt:)
.
if let spacer = tableView.reorder.spacerCell(for: indexPath) {
return spacer
}
- Implement this
TableViewReorderDelegate
method, and others as necessary.
tableView(_:reorderRowAt:to:)
SwiftReorder exposes several properties for adjusting the style of the reordering effect. For example, you can add a scaling effect to the selected cell:
tableView.reorder.cellScale = 1.05
Or adjust the shadow:
tableView.reorder.shadowOpacity = 0.5
tableView.reorder.shadowRadius = 20