swift ios scrollview滑动开始滑动结束

笔记:scrollview开始拖动滑动有触发一系列事件,滑动结束触发一系列事件。

scrollview拖动的时候,有两种情况,1、有加速的滑动,就是在手指离开屏幕的时候scrollview还在继续滑动;2、手指离开页面就停止滑动了。

/// 是否有速度 
var rate : Bool = false 
var scrollView : UIScrollView! 
//scrollview代理
//手指将要拖动
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        print("开始拖动滑动")     
//触发一些列开始事件,动画    
}
//手指将要离开拖动
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer) {
    //velocity.y表示在将要离开拖动的时候的方向(-,+),速率;y==0就是没有速率的拖动 
        if velocity.y > 0 || velocity.y < 0 {
            self.rate = true
        }else{
            self.rate = false
        }
    }
//有速度的停止滑动,就是手指离开屏幕,scrollview还在继续滑动的情况,最终停止滑动
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        if self.rate == true {
            print("B滑动停止")           
    }
//手指离开屏幕scrollview就停止滑动了
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        //decelerate 表示在手指离开拖动的时候是否有速度
        if self.rate == false && decelerate == false {
            print("A停止滑动了")
        }
    }

欢迎同仁斧正!虚心接受!

你可能感兴趣的:(swift ios scrollview滑动开始滑动结束)