         guard case let .reordering(_, destinationRow, _) = reorderState else { return nil }
         guard let tableView = tableView, let snapshotView = snapshotView else { return nil }
         
+        let snapshotFrame = CGRect(center: snapshotView.center, size: snapshotView.bounds.size)
+        
         let rowSnapDistances = tableView.indexPathsForVisibleRows?.map { path -> (path: IndexPath, distance: CGFloat) in
             let rect = tableView.rectForRow(at: path)
             
             if (destinationRow as NSIndexPath).compare(path) == .orderedAscending {
-                return (path, abs(snapshotView.frame.maxY - rect.maxY))
+                return (path, abs(snapshotFrame.maxY - rect.maxY))
             } else {
-                return (path, abs(snapshotView.frame.minY - rect.minY))
+                return (path, abs(snapshotFrame.minY - rect.minY))
             }
         } ?? []
         

//

import UIKit

extension ReorderController {
    

                }
                
                let path = IndexPath(row: 0, section: section)
                return (path, abs(snapshotFrame.maxY - rect.minY))
            }
            else if section < (destinationRow as NSIndexPath).section {
                let rect: CGRect
