         }
         
         _calculateWidthConstantOfContentAlignmentView()
+        _offsetPositionsUpToEndIndex = _calculatedPositionsUptoTitleItemAtEndIndex()
         
         return (true, item)
     }

        }
    }
    
    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])

    fileprivate lazy var _navigationTitleItemView: UIView = _createGeneralContainerView()
    fileprivate lazy var _navigationItemView: UIView = _createGeneralContainerView()
    fileprivate lazy var _effectView: UIVisualEffectView = _createGenetalEffectView()
    fileprivate var _offsetPositionsUpToEndIndex: [CGFloat] = []
    
    private var _titleItemsPreviewPanGesture: UIPanGestureRecognizer!
    
    fileprivate var _navigationBackItem: _TabNavigationBackItem = _TabNavigationBackItem(image:#imageLiteral(resourceName: "back_indicator"))
    fileprivate var _navigationItems: [TabNavigationItem] = []
    fileprivate var _navigationTitleItems: [TabNavigationTitleItem] = [] { didSet { _offsetPositionsUpToEndIndex = _calculatedPositionsUptoTitleItemAtEndIndex() } }
    fileprivate var _navigationTitleActionItems: [TabNavigationTitleActionItem] = []
    
    fileprivate var _selectedTitleItemIndex: Int = 0 {
