UIScrollView(UITableView、UIColle

2023-06-14  本文已影响0人  燃_火

在代理UIScrollViewDelegate中:
//手指滑动开始调用
scrollViewWillBeginDragging(_ scrollView: UIScrollView)
//手指离开屏幕调用
scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
//快速滑动结束调用
scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
这样就会有一个冲突,无法监控滑动什么时候停止(包括手指离开屏幕和快速滑动结束的时机)。
方法:

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        if !decelerate {
            if scrollView.isTracking && !scrollView.isDragging && !scrollView.isDecelerating {
                scrollStop()
            }
        }
    }
    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        if !scrollView.isTracking && !scrollView.isDragging && !scrollView.isDecelerating {
            scrollStop()
        }
    }
    //滑动停止
    func scrollStop() {
        print("滑动停止")
    }
上一篇 下一篇

猜你喜欢

热点阅读