     
     func wr_viewDidAppear(_ animated: Bool)
     {
-        navigationController?.setNeedsNavigationBarUpdate(barTintColor: navBarBarTintColor)
+        if let navBarBgImage = navBarBackgroundImage {
+            navigationController?.setNeedsNavigationBarUpdate(backgroundImage: navBarBgImage)
+        } else {
+            navigationController?.setNeedsNavigationBarUpdate(barTintColor: navBarBarTintColor)
+        }
         navigationController?.setNeedsNavigationBarUpdate(barBackgroundAlpha: navBarBackgroundAlpha)
         navigationController?.setNeedsNavigationBarUpdate(tintColor: navBarTintColor)
         navigationController?.setNeedsNavigationBarUpdate(titleColor: navBarTitleColor)

        static var pushToCurrentVCFinished: Bool = false
        static var pushToNextVCFinished:Bool = false
        
        static var navBarBarTintColor: UIColor = UIColor.defaultNavBarBarTintColor
        static var navBarBackgroundAlpha:CGFloat = 1.0
        static var navBarTintColor: UIColor = UIColor.defaultNavBarTintColor

        return topViewController?.statusBarStyle ?? UIColor.defaultStatusBarStyle
    }
    
    fileprivate func setNeedsNavigationBarUpdate(backgroundImage: UIImage)
    {
        navigationBar.wr_setBackgroundImage(image: backgroundImage)
    }
    
    fileprivate func setNeedsNavigationBarUpdate(barTintColor: UIColor)
    {
        navigationBar.wr_setBackgroundColor(color: barTintColor)
