         }
     }
     
-    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
-        NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(_scrollToSelectedTitleItemWithAnimation), object: nil)
-    }
-    
     public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
         NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(_scrollToSelectedTitleItemWithAnimation), object: nil)
         self.perform(#selector(_scrollToSelectedTitleItemWithAnimation), with: nil, afterDelay: 2.0, inModes: [.commonModes])

}

extension TabNavigationBar: UIScrollViewDelegate {
    public func scrollViewDidScroll(_ scrollView: UIScrollView) {
        guard !scrollView.isDragging, !scrollView.isTracking, !scrollView.isDecelerating else {
            return
        }
        
        let _offsetX = scrollView.contentOffset.x
        
        let _offsetPositionsUpToEndIndex = _calculatedPositionsUptoTitleItemAtEndIndex()
        
        for (_index, _titleItem) in _navigationTitleItems.enumerated() {
            let _offsetPosition = _offsetPositionsUpToEndIndex[_index]

        }
        
        _calculateWidthConstantOfContentAlignmentView()
        _offsetPositionsUpToEndIndex = _calculatedPositionsUptoTitleItemAtEndIndex()
    }
    
    public func setNavigationTitleItems(_ items: [TabNavigationTitleItem], animated: Bool = false, selectedIndex index: Array<TabNavigationTitleItem>.Index = 0, actionsConfig: (() -> (ignore: Bool, actions: [TabNavigationTitleActionItem]?))? = nil, animation: ((TabNavigationTitleItemAnimationContext) -> Void)? = nil) {
