gpt4 book ai didi

swift - 使用防护/if 语句来设置多个 CollectionvViewCell 样式的良好做法?

转载 作者:行者123 更新时间:2023-11-30 12:45:52 25 4
gpt4 key购买 nike

我遇到了一个困境,在我的 CollectionView 中,每个 collectionviewcell 都显示不同的数据,并且具有不同的边框/背景样式。例如,代码片段

let monsters: Monsters!


cell.graphViewIBO.isHidden = true
cell.monsblIBO.isHidden = true
cell.powersBgIBO.isHidden = true


guard indexPath.row != 0 else {

cell.indexOne(monsters)
return cell
}
guard indexPath.row != 1 else {

cell.indexTwo(monsters)
return cell
}
guard indexPath.row != 2 else {

cell.indexThree(monsters)
return cell
}

我觉得这可能是不好的做法,并且不确定我是否应该继续这样做,或者只是使用 scrollview 并独立设置其中每个 uiview 的样式。因为从右边开始,我的 Storyboard在一个 collectionviewcell 中包含多个对象,我需要根据所呈现的索引来隐藏/显示这些对象。我可以继续使用 CollectionView 来实现此目的吗?这种方法的正确方法是什么?

最佳答案

我认为您想要使用的是 switch 语句。您的代码如下所示:

let monsters: Monsters!

cell.graphViewIBO.isHidden = true
cell.monsblIBO.isHidden = true
cell.powersBgIBO.isHidden = true

switch indexPath.row {
case 0:
cell.indexOne(monsters)
case 1:
cell.indexTwo(monsters)
case 2:
cell.indexThree(monsters)
default: break
}

return cell

如果您经常更改单元格,则可以创建 UICollectionViewCell 的不同子类,具体创建取决于哪个索引。如果每种类型的单元格只使用一次,那么 UIScrollView 会更好。但是,如果您多次使用相同类型的单元格(例如仅更改一些文本),则应该使用 UICollectionView。

关于swift - 使用防护/if 语句来设置多个 CollectionvViewCell 样式的良好做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653982/

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