         }
     }
 
+    /// update addition in tab view
+    private func updateTabViewAddition(by scrollView: UIScrollView) {
+        switch options.tabView.addition {
+        case .underline:
+            moveUnderlineView(scrollView: scrollView)
+        case .none:
+            tabView?.update(currentIndex)
+        }
+    }
+
     /// update underbar position
     private func moveUnderlineView(scrollView: UIScrollView) {
 

extension SwipeMenuView: UIScrollViewDelegate {

    public func scrollViewDidScroll(_ scrollView: UIScrollView) {

        if isJumping || isOrientationChange { return }

        // update currentIndex
        if scrollView.contentOffset.x + 1.0 > frame.width * CGFloat(currentIndex + 1) {
            update(from: currentIndex, to: currentIndex + 1)
        } else if scrollView.contentOffset.x - 1.0 < frame.width * CGFloat(currentIndex - 1) {
            update(from: currentIndex, to: currentIndex - 1)
        }


        switch options.tabView.addition {
        case .underline:
            moveUnderlineView(scrollView: scrollView)
        case .none:
            tabView?.update(currentIndex)
        }
    }

    public func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {

            let ratio = scrollView.contentOffset.x.truncatingRemainder(dividingBy: contentView.frame.width) / contentView.frame.width

            switch scrollView.contentOffset.x {
            case let offset where offset >= frame.width * CGFloat(currentIndex):
                tabView.moveUnderlineView(index: currentIndex, ratio: ratio, direction: .forward)
            case let offset where offset < frame.width * CGFloat(currentIndex):
                tabView.moveUnderlineView(index: currentIndex, ratio: ratio, direction: .reverse)
