             }
         } else {
             instance?.hideLoadingActivity(success: success, animated: animated)
+        }
+        
+        if overlay != nil {
+        
+            UIView.animateWithDuration(0.2, animations: {
+                overlay.backgroundColor = overlay.backgroundColor?.colorWithAlphaComponent(0)
+            }, completion: { _ in overlay.removeFromSuperview() })
         }
         
         return true

        // Separate creation from showing
        instance = LoadingActivity(text: text, disableUI: disableUI)
        dispatch_async(dispatch_get_main_queue()) {
            instance?.showLoadingActivity()
        }
        return true

                }
            }
        }
        public static var DarkensBackground = false
    }
    
    private static var instance: LoadingActivity?
    private static var hidingInProgress = false
    private static var overlay: UIView!
    
    /// Disable UI stops users touch actions until EZLoadingActivity is hidden. Return success status
    public static func show(text: String, disableUI: Bool) -> Bool {
