UICollectionViewiOS 10 及更高版本中的交错布局 - iOS Swift

问题描述

StaggeredLayout

嗨, 这是我给dataSource

UICollectionView

var dataSource = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"]

我正在尝试进行如下图所示的交错布局:

我的 numberOfRows 固定为 3

第二行应该比第一行和第三行多一个元素。 countdataSource 将始终为 3n+1。

我使用了一个小技巧并在下面得到了这个布局:

func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeforItemAt indexPath: IndexPath) -> CGSize {
    
        if indexPath.item == 1{
            return CGSize(width: 100,height: 100)
        }
       
        return CGSize(width: 180,height: 100)
    }

    func collectionView(_ collectionView: UICollectionView,insetForSectionAt section: Int) -> UIEdgeInsets {
         if section == dataSource.count - 1{
            return UIEdgeInsets(top: 0,left: 0,bottom: 0,right: 0)
        } else{
            return UIEdgeInsets(top: 0,right: -70)
        }
       
    }

What I have now

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)