         
         _leadingConstraintOfLastItemView = _leadingConstraintOfLastTransitionItemView
         _widthOfNavigationItemViewForZeroContent = _widthOfTransitionNavigationItemViewForZeroContent
-        _constraintBetweenTitleContainerAndItemsContainer = _constraintBetweenTransitionTitleContainerAndItemsContainer
+        _constraintBetweenTitlesAndItems = _constraintBetweenTransitionTitlesAndItems
         
         _itemsContainerView = navigationItemViews.itemsContainerView
         _itemsScrollView = navigationItemViews.itemsScrollView

        
        _itemButton.lastBaselineAnchor.constraint(equalTo: titleAlignmentLabel.lastBaselineAnchor).isActive = true
        if item is TabNavigationTitleActionItem {
            let _trailingAnchor = navigationTitleActionItems.last?._button.trailingAnchor ?? (navigationTitleItems.last?._button.trailingAnchor ?? navigationTitleItemView.leadingAnchor)
            let _trailing = _itemButton.leadingAnchor.constraint(equalTo: _trailingAnchor, constant: DefaultTabNavigationTitleItemPadding)
            
            if navigationTitleActionItems.isEmpty {

        }
        _containerView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
        
        _containerView.addSubview(_navigationBackItem.underlyingView)
        _navigationBackItem.underlyingView.centerYAnchor.constraint(equalTo: _containerView.centerYAnchor).isActive = true
        let _horizontal = _navigationBackItem.underlyingView.trailingAnchor.constraint(equalTo: _containerView.leadingAnchor)
        _horizontal.isActive = true
        _horizontalConstraintOfBackItem = _horizontal
        _constraintContainerViewOfTitleItems(_titleItemsContainerView)
        _constraintContainerViewOfNavigationItems(_itemsContainerView)
    }
    /// Constraint container view for the title items view.
    private func _constraintContainerViewOfTitleItems(_ itemsContainerView: UIView) {
        _containerView.addSubview(itemsContainerView)
        
        _navigationBackItem.underlyingView.trailingAnchor.constraint(equalTo: itemsContainerView.leadingAnchor).isActive = true
        itemsContainerView.topAnchor.constraint(equalTo: _containerView.topAnchor).isActive = true
        itemsContainerView.bottomAnchor.constraint(equalTo: _containerView.bottomAnchor).isActive = true
    }
    /// Constraint container view for the navigation items view.
    private func _constraintContainerViewOfNavigationItems(_ itemsContainerView: UIView, transition: Bool = false) {
        _containerView.addSubview(itemsContainerView)
        
        let constraint = _titleItemsContainerView.trailingAnchor.constraint(equalTo : itemsContainerView.leadingAnchor,
                                                                            constant: -_TabNavigationConfig.default.itemEdgeMargin)
        if transition {
            if let c = _constraintBetweenTitlesAndItems { removeConstraint(c) }
            _constraintBetweenTransitionTitlesAndItems = constraint
        } else {
            _constraintBetweenTitlesAndItems = constraint
        }
        constraint.isActive = true
        
        itemsContainerView.trailingAnchor.constraint(equalTo: _containerView.trailingAnchor).isActive = true
        itemsContainerView.topAnchor.constraint(equalTo     : _containerView.topAnchor).isActive      = true
        itemsContainerView.bottomAnchor.constraint(equalTo  : _containerView.bottomAnchor).isActive   = true
        itemsContainerView.widthAnchor.constraint(lessThanOrEqualTo: _containerView.widthAnchor,
                                                  multiplier       : 0.5,
                                                  constant         : 0.0).isActive = true
    }
    
    private func _setupPreviewGesture() {
        _titleItemsPreviewPanGesture = UIPanGestureRecognizer(target: self, action: #selector(_handleTitleItemsPreview(_:)))
        _titleItemsContainerView.addGestureRecognizer(_titleItemsPreviewPanGesture)
    }
    /// Constraint views of title items.
    private func _constraintViewsOfTitleItems(_ itemsScrollView: UIScrollView? = nil, itemsView: UIView? = nil, alignmentContentView: _TabNavigaitonTitleContentAlignmentView? = nil, transition: Bool = false) {
        let titleItemsScrollView          =   itemsScrollView      ?? _titleItemsScrollView
        let navigationTitleItemView       =   itemsView            ?? _navigationTitleItemView
        let titleAlignmentLabel           = __titleAlignmentLabel
        let titleItemContentAlignmentView =   alignmentContentView ?? _titleItemContentAlignmentView
        
        _titleItemsContainerView.addSubview(titleItemsScrollView)
        titleItemsScrollView.delegate = _delegatesQueue
        titleItemsScrollView.addSubview(navigationTitleItemView)
        
        titleItemsScrollView.leadingAnchor.constraint(equalTo : _titleItemsContainerView.leadingAnchor).isActive  = true
        titleItemsScrollView.trailingAnchor.constraint(equalTo: _titleItemsContainerView.trailingAnchor).isActive = true
        titleItemsScrollView.topAnchor.constraint(equalTo     : _titleItemsContainerView.topAnchor).isActive      = true
        titleItemsScrollView.bottomAnchor.constraint(equalTo  : _titleItemsContainerView.bottomAnchor).isActive   = true
        titleItemsScrollView.widthAnchor.constraint(equalTo   : _titleItemsContainerView.widthAnchor).isActive    = true
        titleItemsScrollView.heightAnchor.constraint(equalTo  : _titleItemsContainerView.heightAnchor).isActive   = true
        
        navigationTitleItemView.leadingAnchor.constraint(equalTo : titleItemsScrollView.leadingAnchor).isActive   = true
        navigationTitleItemView.trailingAnchor.constraint(equalTo: titleItemsScrollView.trailingAnchor).isActive  = true
        navigationTitleItemView.topAnchor.constraint(equalTo     : titleItemsScrollView.topAnchor).isActive       = true
        navigationTitleItemView.bottomAnchor.constraint(equalTo  : titleItemsScrollView.bottomAnchor).isActive    = true
        
        _titleItemsContainerView.heightAnchor.constraint(equalTo: navigationTitleItemView.heightAnchor).isActive = true
        _titleItemsContainerView.addSubview(titleAlignmentLabel)
        _titleItemsContainerView.leadingAnchor.constraint(equalTo: titleAlignmentLabel.leadingAnchor).isActive = true
        _titleItemsContainerView.centerYAnchor.constraint(equalTo: titleAlignmentLabel.centerYAnchor).isActive = true
        
        navigationTitleItemView.addSubview(titleItemContentAlignmentView)
        titleItemContentAlignmentView.trailingAnchor.constraint(equalTo: navigationTitleItemView.trailingAnchor).isActive = true
        titleItemContentAlignmentView.heightAnchor.constraint(equalTo  : navigationTitleItemView.heightAnchor).isActive   = true
        titleItemContentAlignmentView.topAnchor.constraint(equalTo     : navigationTitleItemView.topAnchor).isActive      = true
        titleItemContentAlignmentView.bottomAnchor.constraint(equalTo  : navigationTitleItemView.bottomAnchor).isActive   = true
        titleItemContentAlignmentView.widthAnchor.constraint(greaterThanOrEqualToConstant: 0).isActive                    = true
        
        let leading = navigationTitleItemView.leadingAnchor.constraint(equalTo: titleItemContentAlignmentView.leadingAnchor)
        leading.isActive = true
        if transition { _trailingConstraintOfLastTransitionTitleItemLabel = leading } else {
            _trailingConstraintOfLastTitleItemLabel = leading
        }
        
        let width = titleItemContentAlignmentView.widthAnchor.constraint(equalTo: titleItemsScrollView.widthAnchor, constant: 0)
        width.isActive = true
        if transition { _widthOfTransitionTitleItemContentAlignmentView = width } else {
            _widthOfTitleItemContentAlignmentView = width
        }
    }
    
