gpt4 book ai didi

ios - 来自特定索引路径 SWIFT 的双端自定义单元格

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

我有 UICollectionView,我正在下载图像并将其显示在单元格中。我的第一个单元格是屏幕宽度并包含一个按钮,其余的是一般单元格。该应用程序仅对前 2 个单元进行出队,应该有 3 个单元。

我的cellForItemAtIndexPath函数:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

if indexPath.row == 0 {
print("yay")
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "UploadNewCell", for: indexPath) as! UploadNewCell
return cell
}else if indexPath.row > 0 {
let userImages = userposts[indexPath.row]
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ProfileCell", for: indexPath) as! ProfileCell
cell.fillCells(uid: uid!, userPost: userImages)
return cell
}else{
return ProfileCell()
}
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

if indexPath.row == 0 {
print("hellowold")
} else {
let selecteditem : String!
selecteditem = userposts[indexPath.row]
performSegue(withIdentifier: "lol", sender: selecteditem)
}
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}


func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return userposts.count


}

我的观点:

enter image description here

单元格中应该有 3 个图像,其中一个在第一个索引中出队。

我没有想法了,对解决方案有什么想法吗?

最佳答案

let userImages = userposts[indexPath.row]

此时在您的代码中,indexPath.row > 0。
数组是从 0 开始的,所以第一个单元格 (indexPath.row == 1) 获取数组中的第二个项目 (user posts[1]),这是您想要的第二张图片。

我能想到几个简单的改变:

  • 更改您正在访问的索引,例如:
    让 userImages = userposts[indexPath.row - 1]
  • 将 1 添加到 numberOfItemsInSection: 中的 userposts.count
  • 将您的 collectionView 分成多个部分,因此顶部单元格 (UploadNewCell) 是第 0 部分,底部的三个 ProfileCell 是第二部分:这允许您检查 indexPath.section,并直接从行分配:
    let userImages = userposts[indexPath.row]

注意:我实际上建议进一步修改第二个选项的代码,以便为 SectionType 创建一个枚举。这使您可以对潜在值执行 switch,从而避免讨厌的默认实现,并提高代码的可读性。

关于ios - 来自特定索引路径 SWIFT 的双端自定义单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46768831/

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