     /* @param height - new height
      * @param animated - run default animation
      */
-    open func setParallexHeaderHeight(_ newHeight: CGFloat, animated: Bool, scrollToTop: Bool = true) {
+    open func setParallexHeaderHeight(_ newHeight: CGFloat, animated: Bool, scrollToTop: Bool = true, completion: ((Bool) -> ())? = nil) {
         
         guard parallaxHeaderHeight != newHeight else { return }
         parallaxHeaderHeight = newHeight

            UIView.animate(withDuration: 0.3, animations: {
                self.setViewsToPosition(.refresh, resetContentOffset: scrollToTop)
                self.tabBarPositionYDidChange()
            }, completion: nil)
        } else {
            setViewsToPosition(.refresh, resetContentOffset: scrollToTop)
            tabBarPositionYDidChange()
        }
    }
    
    open func minimizesTabsContent(animated: Bool, scrollToTop: Bool = true) {
        var maximumHeight = CGFloat(0)
        if #available(iOS 11.0, *) {
            maximumHeight = view.frame.height - view.safeAreaInsets.top - view.safeAreaInsets.bottom - pageTabBarController.pageTabBar.frame.height
        } else {
            
        }
        setParallexHeaderHeight(maximumHeight, animated: animated, scrollToTop: scrollToTop)
    }
    
    open func childScrollViewDidScroll(_ scrollView: UIScrollView) {

        guard let currentScrollView = currentChildScrollViewWeakReference, currentScrollView == scrollView else { return }
        
        var contentInset = scrollView.contentInset

        case bottom
        case refresh
    }
    
    // MARK: - Transition Spacing
    
    public enum TransitionSpacing {
        case maximumSpace
        case customHeight(height: CGFloat)
    }
    
    // MARK: - Properties
    
    open weak var delegate: ParallaxHeaderPageTabBarControllerDelegate?
    
    open let pageTabBarController: PageTabBarController
