collectionView swift中的PageControl

Posted

技术标签:

【中文标题】collectionView swift中的PageControl【英文标题】:PageControl in collectionView swift 【发布时间】:2020-06-10 18:38:47 【问题描述】:

我为包含 12 个单元格的 collectionView 创建了一个控制页面。我希望这些单元格分布在 2 页中,在 3 列和 2 行的网格中。但使用当前代码,12 个单元格排列在一行上。我该如何解决?我想我必须改变我收藏的布局,但我不能改变故事板中的任何东西。如果有帮助,这是我的 pageControl 代码。

 var thisWidth: CGFloat = 0

    override func awakeFromNib() 
        super.awakeFromNib()

        thisWidth = CGFloat(self.view.frame.width)
        cartaCollectionView.delegate = self
        cartaCollectionView.dataSource = self

        pageControl.hidesForSinglePage = true
    

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) 
        pageControl.currentPage = Int(scrollView.contentOffset.x) / Int(scrollView.frame.width)
    ```

【问题讨论】:

【参考方案1】:

从查看UICollectionViewDelegateFlowLayout方法开始

collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

为集合中的单元格计算和设置适当的大小将帮助您获得所需的列/单元格。

单元格的顺序重要吗?即你想要第一页上的单元格 1-6 吗? 如果是这样,您将需要构建自定义流程布局。也许您可以改用UIStackviews 的安排?

【讨论】:

以上是关于collectionView swift中的PageControl的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT 3:将不同的声音文件数组匹配到 CollectionView 中的每个部分

Swift:跳转到 CollectionView 中的下一个文本字段

collectionView swift中的PageControl

如何在 swift 4 中的 tableView Cell 中创建 collectionview? [复制]

动态 CollectionView 依赖于 SWIFT 4.0 中的 TableViewCell 值

Swift-使用委托将数据附加到 CollectionView 中的 TableView