我正在使用LBTAComponents窗格
这是一个Pod,可以更轻松地使用UICollectionView
无需注册任何东西,并提供了一个超级简单的锚定系统...并且在两天前的第一个项目中,我决定使用此框架
但是现在我在uicollectionviewCells的一个问题中,我需要另一个可以填充项目的collectionview,然后我需要它可以水平滚动

import LBTAComponents
import UIKit

class ProductCell: DatasourceCell {
    let cellId = "cellid"
    let collectionView : UICollectionView = {
        let layout = UICollectionViewFlowLayout()
        let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
        cv.backgroundColor = .black
        return cv
    }()

    override func setupViews() {
    super.setupViews()

        ProductCell.addSubview(collectionView)
        collectionView.frame = frame
        collectionView.register(UICollectionView.self, forCellWithReuseIdentifier: cellId)
        collectionView.dataSource = self

    }

}

extension ProductCell : UICollectionViewDataSource{

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 5
    }
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath)
        cell.backgroundColor = .white
        return cell
    }

}


在此窗格中,datasourceCell等于UICollectionViewCell

现在我得到这个错误:

instance member 'addsubview' cannot be used on type uiview did you use the value of this type instead?


请你帮助我好吗?

我尝试使用self.addSubview(collectionView)

但又出现了另一个错误enter image description here

最佳答案

您可以简单地将UITableView与包含UITableViewCells的自定义UICollectionView一起使用。

例:

1.查看层次结构

ios - 将UICollectionViewCell放入UICollectionView-LMLPHP

2. UIViewController包含UITableView

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate
{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        return 2
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    {
        return tableView.dequeueReusableCell(withIdentifier: "tcell", for: indexPath) as! TableCell
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
    {
        if indexPath.row == 0
        {
            return 120
        }
        else
        {
            return 150
        }
    }
}


3.包含UITableViewCell的自定义UICollectionView

class TableCell: UITableViewCell, UICollectionViewDataSource
{
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    {
        return 3
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
    {
        return collectionView.dequeueReusableCell(withReuseIdentifier: "ccell", for: indexPath)
    }
}


4.输出截图

ios - 将UICollectionViewCell放入UICollectionView-LMLPHP

关于ios - 将UICollectionViewCell放入UICollectionView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46141799/

10-11 14:50