swift collectionView卡片滑动效果,卡顿调整

通过在scrollview的回调函数中设置不同速度,匹配不同的滑动距离,然后滑动一张卡片解决卡片滑动卡顿

funcscrollViewWillEndDragging(_scrollView:UIScrollView, withVelocity velocity:CGPoint, targetContentOffset:UnsafeMutablePointer) {

        // Destination x

        letx = targetContentOffset.pointee.x

        // Page width equals to cell width

        letpageWidth =UISCREEN_WIDTH-50

        letmovedX = x - pageWidth *CGFloat(selectedIndex)

        ifabs(velocity.x) >=0.2&&abs(velocity.x) <=0.4{

            ifmovedX < -pageWidth *0.2{

                // Move left

                selectedIndex-=1

            }elseifmovedX > pageWidth *0.2{

                // Move right

                selectedIndex+=1

            }

        }elseifabs(velocity.x) >0.4{

            ifmovedX < -pageWidth *0.1{

                // Move left

                selectedIndex-=1

            }elseifmovedX > pageWidth *0.1{

                // Move right

                selectedIndex+=1

            }

        }elseifabs(velocity.x) <0.2{

            ifmovedX < -pageWidth *0.4{

                // Move left

                selectedIndex-=1

            }elseifmovedX > pageWidth *0.4{

                // Move right

                selectedIndex+=1

            }

        }

        targetContentOffset.pointee.x= pageWidth *CGFloat(selectedIndex)

        cellPageControl.currentPage = selectedIndex

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容