从特定索引路径SWIFT中取消自定义单元格

时间:2017-10-16 11:04:43

标签: ios swift3 uicollectionview uicollectionviewcell

我有UICollectionView,我正在下载图像并在单元格中显示它们。我的第一个单元格是屏幕宽度,包含一个按钮,其余部分是普通单元格。应用程序只会破坏前2个单元格,应该有3个单元格。

我的 self.addEventListener('install', e => { e.waitUntil( caches.open('airhorner').then(cache => { return cache.addAll([ '/', '/?utm_source=homescreen', '/Home/About', '/Home/Index', '/Home/Contact' ]) .then(() => self.skipWaiting()); }) ) }); self.addEventListener('activate', event => { event.waitUntil(self.clients.claim()); }); self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request).then(response => { return response || fetch(event.request); }) ); }); 功能:

cellForItemAtIndexPath

我的观点:

enter image description here

在细胞中应该有3个图像,其中一个在第一个索引中被剔除。

我没有想法,有关解决方案的任何想法?

1 个答案:

答案 0 :(得分:1)

  

let userImages = userposts[indexPath.row]

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

我可以想到几个简单的改变:

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

注意:我实际上建议进一步修改第二个选项的代码,以便为let userImages = userposts[indexPath.row]创建枚举。这允许您对潜在值执行SectionType,允许您避免这种讨厌的默认实现,并提高代码的可读性。