 extension TabNavigationController: UIScrollViewDelegate {
     public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
         if scrollView.isDecelerating {
-            _endsRootViewControllersAppearanceTransitionIfNeccessary()
-        } else {
-            let selectedIndex = _rootViewControllersContext.selectedIndex
-            let startIndex = _rootViewControllersContext.viewControllers.index(before: selectedIndex)
-            let endIndex = _rootViewControllersContext.viewControllers.index(after: selectedIndex)
-            let range = startIndex...endIndex
-            let availableRange = range.clamped(to: _rootViewControllersContext.viewControllers.startIndex..._rootViewControllersContext.viewControllers.index(before: _rootViewControllersContext.viewControllers.endIndex))
-            _viewControllersWaitingForTransition = Array(_rootViewControllersContext.viewControllers[availableRange])
-            _viewControllersWaitingForTransition.forEach({ $0.viewWillBeginInteractiveTransition() })
-        }
+            _endsRootViewControllersAppearanceTransitionIfNecessary()
+        }
+        _beginsRootViewControllersInteractiveTransition()
     }
     
     public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

// MARK: Transitions.

extension UIViewController {
    open func viewWillBeginInteractiveTransition() { /* No imp for now. */ }
    open func viewDidEndInteractiveTransition()    { /* No imp for now. */ }
}

// MARK: Layout guide.

            return
        }
        _commitTransitionNavigationItemViews(at: Int(scrollView.contentOffset.x / scrollView.bounds.width))
        _endsRootViewControllersAppearanceTransitionIfNecessary()
    }
    
    public func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
        let selectedIndex = Int(targetContentOffset[0].x / scrollView.bounds.width)
        _endsRootViewControllersInteractiveTransitionIfNecessary(at: selectedIndex)
        _beginsRootViewControllersAppearanceTransition(at: selectedIndex, updateNavigationItems: false, animated: true)
    }
    
