UICollectionView翻页效果实现

本文介绍了在iOS电商APP中,如何利用UICollectionView实现商品详情页的商品快速浏览和翻页功能。通过创建一个父级UICollectionView负责翻页,每个子页面内嵌套UICollectionView展示商品。在实现过程中,需要注意关闭子页面的滑动交互以避免手势冲突,通过scrollView代理来控制翻页。代码示例展示了在UITableViewCell内的UICollectionView实现和二级CollectionViewCell的创建。
摘要由CSDN通过智能技术生成

UICollectionView翻页效果实现

  • 在写文章之前,先介绍下我的项目需求,我们项目是一个电商APP,当前功能是在商品详情里实现一个商品推荐模板,要实现商品快速浏览,并实现快速翻页功能,贴上我实现的一个效果动图,如下:
    在这里插入图片描述

  • 以前实现照片浏览功能,也用过collectionview实现或者pageController实现,那时候也只是单个翻页,只需要一个collectionView就可实现。当前我的需求是有多个商品需要展示,所以用到多个collectionView。

  • 具体思路就是第一个父级collectionView充当翻页,在子页里嵌套collectionView实现商品预览,需要注意的是子页要关掉滑动交互,不然也许会出现手势冲突,剩下的就是在父级collectinView里实现翻页控制了,用到scrollView代理。好了废话少说,上代码。

protocolDetailRecommendTableviewCellDelegate:NSObjectProtocol{    funcselectRecommendGoodsIndex(goodsInfoId:Int)

}

classDetailRecommendTableviewCell:UITableViewCell,Reusable{

    vartitleLab:UILabel!

    varcollectionView:UICollectionView!

    varpageContor:UIPageControl!

    varseeAllBtn:UIButton!



    var delegate:DetailRecommendTableviewCellDelegate!

    varpresentOffset =CGPoint.zero

    varisFront:Bool=true//默认往前翻页

    varisDrag:Bool=false//默认没有拖动

    varlastOffset =CGPoint.zero//最后一次偏移量

    varblockAction:(()->())!

    varpages:Int=1

    varcurrentPage:Int=0

    varrecommendGoodsList = [GoodsInfo](){

        didSet{

            if recommendGoodsList.count > 3{

                self.setUP(line:2)

            }else if recommendGoodsList.count > 0 && recommendGoodsList.count <= 3{

                self.setUP(line:1)

            }else{

                self.setUP(line:0)

            }

            if recommendGoodsList.count > 24{

                self.titleLab.isHidden=false

                self.collectionView.isHidden=false

                self.pageContor.isHidden=false

                self.seeAllBtn.isHidden=false

            }else if recommendGoodsList.count > 6 && recommendGoodsList.count <= 24{

                self.titleLab.isHidden=false

                self.collectionView.isHidden=false

                self.pageContor.isHidden=false

                self.seeAllBtn.isHidden=true

            }else if recommendGoodsList.count > 3 && recommendGoodsList.count <= 6{

                self.titleLab.isHidden=false

                self.collectionView.isHidden=false

                self.pageContor.isHidden=true

                self.seeAllBtn.isHidden=true

            }else if recommendGoodsList.count < 3 && recommendGoodsList.count > 0{

             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值