             if index < _rootViewControllersContext.viewControllers.index(before: _rootViewControllersContext.viewControllers.endIndex)
             && scrollView.contentOffset.x >= 0
             && scrollView.contentOffset.x.truncatingRemainder(dividingBy: scrollView.bounds.width) != 0.0
+            && !isTabNavigationItemsUpdatingDisabledInRootViewControllers
             {
                 let showingIndex = _rootViewControllersContext.viewControllers.index(after: index)
                 let viewController = _rootViewControllersContext.viewControllers[showingIndex]

                }
            }
            // Update navigation items.
            tabNavigationBar.setNavigationItems(formerViewController.tabNavigationItems, animated: animated)
        }
        // Will remove view controller to be popped.
        _removingViewController.willMove(toParentViewController: nil)

    }
    
    public func setSelectedViewController(at index: Array<UIViewController>.Index, animated: Bool) {
        _setSelectedViewController(at: index, updateNavigationBar: true, updateNavigationItems: !isTabNavigationItemsUpdatingDisabledInRootViewControllers, animated: animated)
    }
    
    public func addViewController<T>(_ viewController: T) where T: UIViewController, T: TabNavigationReadable {
