     
     override func setNavigationBarHidden(_ hidden: Bool, animated: Bool) {
         super.setNavigationBarHidden(hidden, animated: animated)
-        if !(self.visibleViewController!.rt_hasSetInteractivePop) {
-            self.visibleViewController!.disableInteractivePopGesture = hidden
-        }
-    }
-    
-    override var isNavigationBarHidden: Bool {
-        set {
-            super.setNavigationBarHidden(newValue, animated: false)
-            if !self.visibleViewController!.rt_hasSetInteractivePop {
-                self.visibleViewController!.disableInteractivePopGesture = newValue
-            }
-        }
-        
-        get {
-            if self.navigationController != nil {
-                return self.navigationController!.isNavigationBarHidden
-            } else {
-                return super.isNavigationBarHidden
-            }
+        if let visible = self.visibleViewController,
+            visible.rt_hasSetInteractivePop {
+            
+        } else {
+            self.visibleViewController?.disableInteractivePopGesture = hidden
         }
     }
 }

        set {
            if self.navigationController != nil {
                self.navigationController!.delegate = newValue
            }
            else {
                super.delegate = newValue
            }
        }

    }
    
    
    override func popViewController(animated: Bool) -> UIViewController? {
        if self.navigationController != nil {
            return self.navigationController!.popViewController(animated: animated)
        }
        return super.popViewController(animated: animated)
    }
    override func popToRootViewController(animated: Bool) -> [UIViewController]? {
        if self.navigationController != nil {
            return self.navigationController!.popToRootViewController(animated: animated)
        }
        return super.popToRootViewController(animated: animated)
    }
    
    override func popToViewController(_ viewController: UIViewController, animated: Bool) -> [UIViewController]? {
        if self.navigationController != nil {
            return self.navigationController!.popToViewController(viewController, animated: animated)
        }
        return super.popToViewController(viewController, animated: animated)
    }
    
    override func setViewControllers(_ viewControllers: [UIViewController], animated: Bool) {
