小编ami*_*krd的帖子

删除单元格后使用自定义布局调整 UICollectionView 的大小

我从以下位置为我的 CollectionView 下载了这个 Pintrest-esc 自定义布局:https ://www.raywenderlich.com/164608/uicollectionview-custom-layout-tutorial-pinterest-2 (对缓存代码做了一点修改)

所以布局工作正常,我已经设置好了,所以当你滚动到底部时,我进行另一个 API 调用,创建并填充额外的单元格。

问题:如果用户向下滚动并加载更多单元格(例如让我们说 20),然后使用我在顶部实现的“搜索功能”,它将通过 MinRange - MaxRange 的价格过滤一些数据,离开你使用(假设有 5 个结果),从而删除一些单元格并重新填充这些单元格。但是- 前 20 个单元格中存在的所有空间和可滚动空间仍然作为空白空间存在......我如何删除这个空间?为什么在添加更多单元格时它可以调整大小,而在删除它们时却不能?

我的 API 调用代码:

DispatchQueue.global(qos: .background).async {

        WebserviceController.GetSearchPage(parameters: params) { (success, data) in
            if success
            {

                if let products = data!["MESSAGE"] as? [[String : AnyObject]]
                {
                    self.productList = products

                }
            }

            DispatchQueue.main.async(execute: { () -> Void in
                self.pintrestCollectionView.reloadData()
          self.pintrestCollectionView.collectionViewLayout.invalidateLayout()
                self.pintrestCollectionView.layoutSubviews()
            })

        }

    }
Run Code Online (Sandbox Code Playgroud)

自定义布局类和协议的代码:

协议 PinterestLayoutDelegate: 类 { …

xcode ios uicollectionview swift swift3

4
推荐指数
1
解决办法
1116
查看次数

标签 统计

ios ×1

swift ×1

swift3 ×1

uicollectionview ×1

xcode ×1