     
     private func commonInit() {
         var dropShadowFrame = dropShadowView.frame
-        dropShadowFrame.origin.x = 0 - dropShadowFrame.size.width
+        if RTL {
+            dropShadowFrame.origin.x = bounds.width
+        } else {
+            dropShadowFrame.origin.x = 0 - dropShadowFrame.size.width
+        }
         dropShadowFrame.origin.y = 0
         dropShadowFrame.size.height = bounds.size.height
         dropShadowView.frame = dropShadowFrame

            let toView = transitionContext.view(forKey: UITransitionContextViewKey.to) else {
                return
        }
        
        let container = transitionContext.containerView
        

        
        activeContext?.cancelInteractiveTransition()
        
        UIView.animate(withDuration: duration, delay: 0, options: options, animations: { () -> Void in
            self.frontContainerView.transform = .identity
            let translationX = RTL ? -resolvedToViewOffset : resolvedToViewOffset
            toView.transform = CGAffineTransform(translationX: translationX, y: 0)
            self.backOverlayView.alpha = 1.0
            self.frontContainerView.dropShadowAlpha = 1.0
        }, completion: { completed -> Void in
            toView.transform = .identity
            toView.left = 0 // Damn you, AutoLayout!
            container.addSubview(fromView)
            self.backOverlayView.removeFromSuperview()
            self.frontContainerView.removeFromSuperview()
            self.activeContext?.completeTransition(false)
            completion()
        })
        
    }
    
