 // MARK: - Scroll -
 extension WYListView {
     
-    fileprivate func scrollToLastSection(animated: Bool, completion: (() -> Swift.Void)? = nil) {
+    open func scrollToLastSection(animated: Bool, after timeInterval: TimeInterval = 0, completion: (() -> Swift.Void)? = nil) {
         guard let dataSource = self.dataSource else {
             return
         }

        flowLayout.itemSize = self.contentView.bounds.size
    }
    
    private func observeDeviceOrientation() {
        UIDevice.current.beginGeneratingDeviceOrientationNotifications()
        NotificationCenter.default.addObserver(self, selector: #selector(handleDeviceOrientationNotification(_:)), name: Notification.Name.UIDeviceOrientationDidChange, object: nil)

        if number < 1 {
            return
        }
        self.scroll(to: number - 1, animated: animated, after: timeInterval, completion: completion)
    }
    
    open func scroll(to section: Int, animated: Bool, after timeInterval: TimeInterval = 0, completion: (() -> Swift.Void)? = nil) {
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + timeInterval) { [unowned self] in
            guard let dataSource = self.dataSource else {   return  }
            let number = dataSource.numberOfSections(in: self)
            self.currentSection = min(max(section, 0), number - 1)
            let indexPath = IndexPath(item: self.currentSection!, section: 0)
            self.segmentView.scrollToItem(at: indexPath, at: .init(rawValue: 0), animated: animated)
            self.contentView.scrollToItem(at: indexPath, at: .init(rawValue: 0), animated: animated)
            
            let layoutAttributes = self.segmentView.collectionViewLayout.initialLayoutAttributesForAppearingItem(at: indexPath)
            var rect = CGRect.zero
            if let lab = layoutAttributes {
                rect = lab.frame
            }
            let insert: CGFloat = WYSegmentCell.contentInsert, height: CGFloat = 2
            let frame = CGRect(x: rect.origin.x + insert, y: rect.size.height - height,
                               width: rect.size.width - insert * 2, height: height)
            if animated {
                UIView.animate(withDuration: 0.25, animations: { [unowned self] in
                    self.floatView?.frame = frame
                }) { [unowned self] (finished) in
                    self.floatView?.alpha = 1
                }
            } else {
                self.floatView?.frame = frame
                self.floatView?.alpha = 1
                if completion != nil {
                    completion!()
                }
            }
        }
    }
