                             }
                             self.tableView.reloadData()
                             }, completion: { (finished) -> Void in
+                                self.doneCellAnimations = true
                                 if self.delegate?.respondsToSelector(Selector("didShowMenu:inViewController:")) == true {
                                     self.delegate?.didShowMenuViewController!(self, inViewController: viewController)
                                 }
-                                self.doneCellAnimations = true
                         })
                     })
             }

    
    private var doneAnimations = false
    private var doneCellAnimations = false
    private var orientation = UIDeviceOrientation.Unknown
    private var currentController:UIViewController?
    private var originalCurrentControllerFrame:CGRect?
    private var originalCloseButtonFrame:CGRect?
    private var originalTableViewFrame:CGRect?
    private var originalbuttonOriginY:CGFloat?
    private var offsetY:CGFloat?
    
    
    // MARK: - Initializers
    

    // MARK: - Rotation Methods
    
    @objc private func didRotate (notification: NSNotification ) {
        
        currentController?.view.transform  = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, 1.0)
        currentController?.view.frame = UIScreen.mainScreen().bounds
        currentController?.view.transform  = CGAffineTransformScale(CGAffineTransformIdentity, 0.6, 0.6)
        
        if containerViewWidthConstraint != nil {
