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

    }

你可能感兴趣的:(swift collectionView卡片滑动效果,卡顿调整)