一个 tableView 单元中的两个 collectionView。 collectionViews 没有出现

Posted

技术标签:

【中文标题】一个 tableView 单元中的两个 collectionView。 collectionViews 没有出现【英文标题】:Two collectionViews in one tableView Cell. collectionViews not appearing 【发布时间】:2019-05-11 23:25:01 【问题描述】:

我在一个表格视图单元格中有两个不同的 collectionView。原因是因为我试图找到实现一个水平 collectionView 和一个显示不同数据的垂直 collecitonView 的最佳方法。当用户使用垂直集合视图滚动时,我只想让水平集合视图与页面一起向下滚动。

我已经实现了一些代码来尝试让两个collectionViews 在表格视图中工作,但是collectionViews 没有出现。

class PeopleToFollowHeader: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegate 



    @IBOutlet weak var collectionViewA: UICollectionView!
    @IBOutlet weak var collectionViewB: UICollectionView!    



    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
        if collectionView == self.collectionViewA 
            return 6
         else 
            return posts.count
        
    

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

        if collectionView == self.collectionViewA 
            let cellA = collectionView.dequeueReusableCell(withReuseIdentifier: "FollowCell", for: indexPath) as! PeopleToFollowCollectionCell
            return cellA
         else 
            if collectionView == self.collectionViewB 
            let cellB = collectionView.dequeueReusableCell(withReuseIdentifier: "FollowingFeed", for: indexPath) as! FollowingCell
            cellB.posts = posts[indexPath.item]
            return cellB
        

            return UICollectionViewCell()
    

    


    override func awakeFromNib() 
        super.awakeFromNib()
        fetchPosts()
        // Display collectionViews
        collectionViewA.delegate = self
        collectionViewA.dataSource = self
        collectionViewB.delegate = self
        collectionViewB.dataSource = self
        self.addSubview(collectionViewA)
        self.addSubview(collectionViewB)
        collectionViewA.reloadData()
        collectionViewB.reloadData()


    
    ```

【问题讨论】:

您是否将集合视图连接到故事板中的它们的出口? @BrandonStillitano 是的 【参考方案1】:

您应该在fetchPosts() 返回后重新加载您的集合视图(假设它是一个异步函数)。

所以你应该在重新加载整个 tableView 之前预取数据。

【讨论】:

以上是关于一个 tableView 单元中的两个 collectionView。 collectionViews 没有出现的主要内容,如果未能解决你的问题,请参考以下文章

多个tableView单元格中的多个collectionView

Objective-C 链接两个 Tableview

我可以在 iphone 的 tableview 中的两个单元格之间留出空间吗?

一个 UIViewController 中的自定义单元格 tableview 和默认 UITableView

如何从单元格中的按钮操作获取 tableview 中的 indexPath?

带有两个自定义单元格的 TableView 导致单元格重用问题(Swift 4)