ios - CollectionView 不显示任何 CollectionViewCell
问题描述
我创建了一个通用的 UIView 类,其中包含一个 UICollectionView 。如下所示。(下面的类还处理带有默认值的 UICollectionView 的协议)
class MyCollectionView: BaseView<CollectionViewModel> {
private lazy var myCollectionView: UICollectionView = {
let temp = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewLayout()) // setting initial collectionView
temp.translatesAutoresizingMaskIntoConstraints = false
temp.delegate = self
temp.dataSource = self
temp.register(CollectionViewCell.self, forCellWithReuseIdentifier: CollectionViewCell.identifier)
temp.clipsToBounds = true
return temp
}()
}
我创建了MyCollectionView的一个实例(上面的类),并作为子视图添加到MainViewController(下面的类)。这样做让我将MyCollectionView显示为 MainViewController 的子视图。到目前为止我已经完成了。
class MainViewController: UIViewController {
private lazy var collectionView: MyCollectionView = {
let temp = MyCollectionView()
temp.translatesAutoresizingMaskIntoConstraints = false
temp.backgroundColor = .black
return temp
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(collectionView)
setUpConstraintsAndViews()
// Do any additional setup after loading the view.
}
后来我尝试制作UICollectionViewCell类并将其注册到 myCollectionView。但我仍然看不到屏幕上的任何单元格。我可能会丢失什么?
解决方案
您的MyCollectionView
课程不是UICollectionView
. 它没有子视图,它有一个创建集合视图UICollectionView
的私有变量。myCollectionView
据我所知,您正在添加一个实例MyCollectionView
作为MainViewController
. 我不明白这如何增加UICollectionView
你的观点MainViewController
。
您的消费者MyCollectionView
应该如何访问它拥有的集合视图?
推荐阅读
- python - 将数据框键和值作为列的字典?
- angular - 如何使该功能等待另一个功能完成?
- arrays - 我必须反转数组 [1,2,3,4,5,6,7] 我被卡住了
- javascript - 使用 gulp 将所有 scss 文件合并为一个 css 文件
- r - 将 stdout = TRUE 添加到 R 的 system2 命令并收到警告。为什么?
- csv - 如何使用 Perl 将文本文件解析为 csv 文件
- php - 关系查询未定义方法
- python - Python中自定义的Dijkstra算法
- github-actions - 如何在另一个工作流程中下载工件/发布资产
- ios - 如何更新 iPad 拆分视图上的窗口框架?