     @objc
     private func _handleDidSelectTitleItem(_ sender: _TabNavigationTitleItemButton) {
         guard let _titleItem = sender._titleItem else { return }
-        
+        // Cancel the scheduled scrolling animation if exists.
+        NSObject.cancelPreviousPerformRequests(withTarget: self,
+                                               selector  : #selector(_scrollToSelectedTitleItemWithAnimation),
+                                               object    : nil)
         if let index = _navigationTitleItems.index(of: _titleItem), index != _selectedTitleItemIndex {
             // setSelectedTitle(at: index, animated: true)
             _setSelectedTitle(at: index, in: _navigationTitleItems, animated: true)
             
-            NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(_scrollToSelectedTitleItemWithAnimation), object: nil)
             // Set up the animated transition delegate:
             _delegatesQueue.remove(_interactiveTransition)
             _delegatesQueue.add(_animatedTransition)

                navigationTitleItemView.removeConstraint(_trailingOfTitleActionItems)
            }
            
            let _trailingOfTitleActionItems = _itemButton.trailingAnchor.constraint(equalTo: fixSpacingLayoutGudie.leadingAnchor, constant: -DefaultTabNavigationTitleItemPadding)
            _trailingOfTitleActionItems.isActive = true
            if transition {
                _trailingConstraintOfLastTransitionTitleActionItemLabel = _trailingOfTitleActionItems

            }
        } else {
            let _trailingAnchor = navigationTitleItems.last?.underlyingButton.trailingAnchor ?? navigationTitleItemView.leadingAnchor
            itemButton.leadingAnchor.constraint(equalTo: _trailingAnchor, constant: DefaultTabNavigationTitleItemPadding).isActive = true
            
            if let _trailing = transition ? _trailingConstraintOfLastTransitionTitleItemLabel : _trailingConstraintOfLastTitleItemLabel {
                navigationTitleItemView.removeConstraint(_trailing)
            }
            
            let _trailing = NSLayoutConstraint(item: navigationTitleActionItems.first?.underlyingButton ?? fixSpacingLayoutGudie, attribute: .leading, relatedBy: .equal, toItem: itemButton, attribute: .trailing, multiplier: 1.0, constant: DefaultTabNavigationTitleItemPadding)
            navigationTitleItemView.addConstraint(_trailing)
            if transition {
                _trailingConstraintOfLastTransitionTitleItemLabel = _trailing
