         
         UIView.animate(withDuration: TimeInterval(duration), delay: 0, usingSpringWithDamping: 10, initialSpringVelocity: springVelocity, options: .beginFromCurrentState, animations: {
             self.swipeTranslation = 0
-            self.layoutIfNeeded()
         }, completion: { (finished: Bool) in
             self.removeActionsView()
-            self.privateContentView.isUserInteractionEnabled = true
+            self.contentView.isUserInteractionEnabled = true
             self.actionsView?.isUserInteractionEnabled = false
             self.swipeInitialFramePosition = 0
-            if let leftView = self.leftViewToCoverCellOnLandscape, let rightView = self.righttViewToCoverCellOnLandscape {
-                leftView.removeFromSuperview()
-                rightView.removeFromSuperview()
-            }
+            self.clipsToBounds = false
+            self.removeSwipeSnapshot()
         })
     }
     

    var swipeVelocity: CGFloat = 0
    var originalStartPosition: CGPoint = .zero
    
    var swipeTranslation: CGFloat {
        get {
            let x = privateContentView.frame.origin.x
            return x
        }
        set {
            privateContentView.frame.origin.x = newValue
            actionsView?.frame = actionsViewFrame
        }
    }
    
    var actionsViewFrame: CGRect {
        let width = actionsView?.maximumWidth ?? 0
        let x = privateContentView.frame.origin.x
        return CGRect(x: privateContentView.frame.width + x, y: privateContentView.frame.origin.y, width: width, height: privateContentView.frame.height)
    }
    
    var minimumSwipeTrackingPosition: CGFloat {

        set {
            actionsView?.theme = newValue
        }
    }
    
    var actionsViewRect: CGRect {
