如何在集合视图中显示广告

jel*_*sh6 9 ads ios uicollectionview indexpath

我正在尝试在我的collectionView中随机添加一些横幅广告.

每个collectionView单元格都是一个基本图像(这里是方便的黑色方块),从数组中动态填充(假设它是一个非常长的数组,并称之为"longDataArray"),我将从网上获取.

我可以设法在我的collectionView中添加一些横幅广告,但问题是它违反了我的longDataArray的顺序.例如,仅在我在indexPath 6添加广告横幅时进行测试,然后广告横幅正确地显示在indexPath 6上,我能够管理单元格的宽度更改,但是在indexPath处对应的图像6我的longDataArray显然永远不会出现.

我也可以把我的longDataArray分成两部分,然后玩部分:section 0 = firstPartOfArray,section 1 = ad banner,section 2 = secondPartOfArray.但这需要花费大量精力创建不同的数组和部分,只需添加一个广告横幅,而且显然不是我想要的.

所以我的问题是,你如何在collectionView中添加横幅广告(只有一个部分),但保留indexPath逻辑?

我搜索了很多关于这一点,并且惊讶于我无法为这个问题找到任何解决方案.

你们有什么想法吗?

谢谢!

截图

dah*_*boy 4

因为UICollectionView你必须有两个定制UICollectionView

\n\n
    \n
  1. Cell1 用于Imageview.
  2. \n
  3. Cell2 用于横幅广告。
  4. \n
\n\n

cellForItem

\n\n
if (indexPath.item == 6){\n    // dequeue your cell2 here\n    return cell2\n}\nelse{\n    // dequeue your cell1 here\n    return cell1\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

实现UICollection\xe2\x80\x8bView\xe2\x80\x8bDelegate\xe2\x80\x8bFlow\xe2\x80\x8bLayout并像这样使用

\n\n
func collectionView(_ collectionView: UICollectionView, \n                      layout collectionViewLayout: UICollectionViewLayout, \n               sizeForItemAt indexPath: IndexPath) -> CGSize{\n\n  if (indexPath.item == 6){\n      return CGSizeMake(60,60)\n  }\n  else{\n      return CGSizeMake([[UIScreen mainScreen] bounds].size.width, 60.0)\n  }\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

要在您的应用中展示广告,您需要AdMob

\n