         self.parallaxHeaderHeight = parallaxHeaderHeight
         revealingGapHeight = parallaxHeaderHeight
         pageTabBarController.parallaxDelegate = self
-        
     }
     
     required public init?(coder aDecoder: NSCoder) {

        
        if animated {
            UIView.animate(withDuration: duration, animations: {
                self.pageTabBarController.view.transform = CGAffineTransform(translationX: 0, y: spacingHeight - self.revealingGapHeight)
            }) { finished in
                prepareCompletion()
                completion?(finished)
            }
        } else {
            pageTabBarController.view.transform = CGAffineTransform(translationX: 0, y: spacingHeight - revealingGapHeight)
            prepareCompletion()
            completion?(true)
        }

    }
    
    open func finalizeTransition(headerHeight: CGFloat, duration: TimeInterval, animated: Bool, completion: ((Bool) -> ())? = nil) {
        
        parallaxHeaderHeight = headerHeight
        
        let finalizeCompletion: () -> () = {
            self.headerTransitionView.isHidden = true
            self.isTransitioning = false
        }
        
        if animated {
            UIView.animate(withDuration: duration, animations: {

                self.setViewsToPosition(.refresh)
                self.tabBarPositionYDidChange()
            }) { finished in
                completion?(finished)
            }
        } else {
            pageTabBarController.view.transform = .identity
            setViewsToPosition(.refresh)
            tabBarPositionYDidChange()
            completion?(true)
        }
    }
    
    // MARK: - Scroll View Monitoring
