如何滚动到第一个单元格,同时在 CollectionView 上滑动最后一个单元格?

Posted

技术标签:

【中文标题】如何滚动到第一个单元格,同时在 CollectionView 上滑动最后一个单元格?【英文标题】:How to scroll to first cell, while swiping the last cell on CollectionView? 【发布时间】:2018-12-29 11:02:35 【问题描述】:

我正在开发一个包含许多单元格的 CollectionView。而我想要做的是:

当用户在collectionView 的最后一个单元格上,并且当用户滑动查看下一个单元格时,我希望这个collectionView 从头开始​​重新启动。 (基本上,我需要一个无限循环)

希望我能正确解释。等待您的解决方案。谢谢。

【问题讨论】:

看这里How to implement horizontally infinite scrolling UICollectionView? @Ers Tar 你从我的回答中找到你的答案了吗? @Sagarkoyani 是的,非常感谢。很有帮助! 【参考方案1】:

试试这个。

import UIKit

class ViewController: UIViewController,UICollectionViewDelegate,UICollectionViewDataSource 

    @IBOutlet weak var collectionView: UICollectionView!

    override func viewDidLoad() 
        super.viewDidLoad()
        collectionView.delegate=self;
        collectionView.dataSource=self;
    

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
        return 100;
    

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath as IndexPath)
        cell.backgroundColor = UIColor.red
        if indexpath.row==99
            self.btnScroll()
           
        return cell
    

    func btnScroll() 
        collectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: UICollectionView.ScrollPosition.top, animated:true)
    

【讨论】:

不幸的是,这是滚动到第一项,我需要在最后一项之后显示第一项并继续滚动,就像我在该 collectionView 中有更多内容一样

以上是关于如何滚动到第一个单元格,同时在 CollectionView 上滑动最后一个单元格?的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT:如何修复单元格荧光笔并使整个集合视图滚动而不是荧光笔?

如何同时滚动多个tableview

重新加载 UITableView 数据并向下滚动到最后选择的单元格

UITableView 动画在部分之间滚动,同时临时删除过多的单元格以简化动画

当许多单元格同时可见时,QTableView 滚动缓慢

同时滚动和捏合多个 UiScrollView