         func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
             let needsHideAnimation = (position == .top && contentOffsetY < 0) || (position == .bottom && contentOffsetY >= contentHeight)
             if needsHideAnimation {
-                hideIfNeeded(true)
+                resetTimerIfNeeded()
             } else {
                 hide(false)
+            }
+        }
+        
+        func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
+            if autoHidden == true && decelerate == false && hiddenTimeInterval == 0 {
+                timer(_hiddenTimeInterval)
             }
         }
         

        fileprivate var contentView: UIView?
        fileprivate var autoHidden: Bool = false
        fileprivate var hiddenTimeInterval: TimeInterval = 0
        fileprivate var contentHeight: CGFloat {
            return noticeView.bounds.height
        }

                
                if isHideIfNeeded {
                    contentOffsetY = position == .top ? -contentHeight : contentHeight
                    hideIfNeeded(true)
                    return
                }
