             animations: {
                 () -> Void in
                 animationBlock?()
-                self.layoutIfNeeded()
+                self.superview?.layoutIfNeeded()
             }, completion: nil)
     }
     

        case .slideFromTopBackToTop, .slideFromBottomToTop:
            // Init
            topMarginConstraint?.constant = -TTGSnackbar.snackbarHeight
            self.layoutIfNeeded()
            // Animation
            topMarginConstraint?.constant = TTGSnackbar.snackbarBottomMargin
        case .slideFromLeftToRight:
            // Init
            centerXConstraint?.constant = -superview!.bounds.width
            topMarginConstraint?.constant = -TTGSnackbar.snackbarBottomMargin
            self.layoutIfNeeded()
            // Animation
            centerXConstraint?.constant = 0
        case .slideFromRightToLeft:
            // Init
            centerXConstraint?.constant = superview!.bounds.width
            topMarginConstraint?.constant = -TTGSnackbar.snackbarBottomMargin
            self.layoutIfNeeded()
            // Animation
            centerXConstraint?.constant = 0
        case .flip:
            // Init
            topMarginConstraint?.constant = -TTGSnackbar.snackbarBottomMargin
            self.layer.transform = CATransform3DMakeRotation(CGFloat(M_PI_2), 1, 0, 0)
            self.layoutIfNeeded()
            // Animation
            animationBlock = {
                self.layer.transform = CATransform3DMakeRotation(0, 1, 0, 0)

            animations: {
                () -> Void in
                animationBlock?()
                self.superView?.layoutIfNeeded()
            }) {
                (finished) -> Void in
                self.dismissBlock?(self)
