swift scorllView/collectionView 只滑动一个

查了很多方法都不太行
最后在一个scorllView的协议上看到了希望,实验之后成功了。

   var page = 0
    var oldX = 0.0
 //MARK: 控制每次只能滑动一个 减少滑动距离
    func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
        
        //print("targetContentOffset.pointee.x == ",targetContentOffset.pointee.x)
        
        if  oldX < targetContentOffset.pointee.x {
            //右滑
            if self.page >=  self.imageArr.count {
                page = self.imageArr.count - 1
            }else{
                page = page + 1
            }
            targetContentOffset.pointee.x = CGFloat(page) * (kScreenWidth - 70 + 20)
        } else {
            //左滑
            if self.page > 1 {
                page = page - 1
            }else{
                page = 0
            }
            //kScreenWidth - 70 + 20   item 大小 加上 边界
            targetContentOffset.pointee.x = CGFloat(page) * (kScreenWidth - 70 + 20)
        }
        
        oldX = targetContentOffset.pointee.x
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,937评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 7,217评论 0 2

友情链接更多精彩内容