帖子隐藏在第二个单元格在CollectionView



我用Xcode制作Swift应用程序,并使用CollectionViewCell从我的WordPress网站获取数据。我在我的CollectionView中有2个单元格,一个用于加载帖子,第二个用于Google AdMob,我想在4个帖子后显示广告,这是一个很好的工作,但现在的问题是,当第二个单元格被加载时,我的意思是AdMob单元格加载了,然后这个数字的帖子隐藏在它后面,就像如果有1、2、3、4、5和4个帖子后的广告加载的帖子,那么5个帖子是没有的。这是我的代码

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

if (indexPath.item % 5 == 1){

let adcell = collectionView.dequeueReusableCell(withReuseIdentifier: "adcell", for: indexPath) as! MovieCollectionViewCell

// Google Ads Here

return adcell

}

else{

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MovieCollectionViewCell", for: indexPath) as! MovieCollectionViewCell

cell.setup(with: newsData[indexPath.row])
return cell
}
}

请帮助我解决这个问题,我想加载广告,但当广告加载该数字的帖子应该加载在下一个项目单元格..由于

首先,您在if块中使用indexPath.item,在else块中使用indexPath.row,这可能有点令人困惑,但这不是这里的问题。

indexPath.item在第五个单元格上为4,因此if条件解析为true,并返回adcell。在第六个单元格中,indexPath.row现在是5,因此直接跳过索引为4的newsData的第五项。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if (indexPath.item % 5 == 4){

let adcell = collectionView.dequeueReusableCell(withReuseIdentifier: "adcell", for: indexPath) as! MovieCollectionViewCell

// Google Ads Here

return adcell

}
else {

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MovieCollectionViewCell", for: indexPath) as! MovieCollectionViewCell

cell.setup(with: newsData[indexPath.item-(indexPath.item/5])
return cell
}
}

编辑:

如果还没有完成:

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return newsData.count + (newsData.count/5)
}

相关内容

  • 没有找到相关文章

最新更新