作为我的初学者,我遇到的问题可能不是那么容易问的。
我的应用程序中有两个原型集合视图单元格,我们将它们分别称为Cell1
和Cell2
,它们都位于同一部分。
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell1", for: indexPath) as? customCell {
return cell
} else if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell2", for: indexPath) as? customCell {
return cell
}
return UICollectionViewCell()
}
我的问题从这里开始:
在numberOfItemsInSection
中,我想说例如从原型Cell1
绘制3个单元格,从Cell2
绘制5个单元格。
我不知道如何在两个原型之间划分单元数,有人可以帮我吗?
答案 0 :(得分:1)
您可以尝试
override func collectionView(_ collectionView: UICollectionView,
numberOfItemsInSection section: Int) -> Int {
return 8
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if (0...2).contains(indexPath.item) {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell1", for: indexPath) as! customCell {
return cell
} else {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell2", for: indexPath) as? customCell {
return cell
}
}
答案 1 :(得分:0)
您有几种选择。如果您知道将要拥有多少个电池,可以说8个,您只需进行一次简单的切换即可。
switch indexPath.item {
case 0,1,2,3:
let cell = .....
return cell
case 4,5,6,7:
let cell2 = ....
return cell
default:
let cell = ...
return cell
}
您还可以执行模数方法,这将为偶数编号提供cell1,为不均匀数提供cell2。 在不直接了解您的意图的情况下,我只能给您一个广泛的答案。