我正在使用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.查看层次结构
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,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46141799/