gpt4 book ai didi

ios - Collection View 中不同部分的不同布局

转载 作者:行者123 更新时间:2023-11-29 05:30:09 25 4
gpt4 key购买 nike

我有一个包含 3 个部分的 Collection View ,前两个部分可以与 UICollectionViewFlowLayout 配合使用,但第三个部分需要自定义实现。

我知道 Collection View 只能有一种布局,因此如果我位于正确的部分,我一直尝试仅在覆盖的准备函数中执行工作。这就是它容易崩溃的地方,我无法找到一种简单的方法来找出我正在计算布局属性的单元格所在的部分。

不确定是否还有比在准备函数中有条件执行计算更好的方法。

如果方向正确,那就太好了!

最佳答案

我认为这是一个很好的方法:

1- 使用自己的 .xib 文件创建自定义部分

class CustomSection: UICollectionReusableView {

override func awakeFromNib() {
super.awakeFromNib()
}
}

2- 实现 UICollectionViewDelegateFlowLayout 委托(delegate)方法

func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {

// In case its a section header (UICollectionElementKindSectionFooter for footer)
if kind == UICollectionElementKindSectionHeader {

// This will be the section number

let section = indexPath.section

if section == 3 {

let customSection = collectionView.dequeueReusableSupplementaryView(ofKind: kind,withReuseIdentifier: "CustomSection", for: indexPath) as! CustomSection
return customSection

}
else {

//TODO: Return your default section

}

}
}

3-不要忘记在 UICollectionView 中注册该部分

let customSectionNib = UINib.init(nibName: "CustomSection", bundle: nil)
collectionView.register(customSectionNib, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "CustomSection")

关于ios - Collection View 中不同部分的不同布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57677065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com