我正在尝试实现下面显示的布局(标题与集合视图一起滚动,它们没有固定):
根据要求headerView1
,headerView2
,headerView3
和collectionView
由不同的控制器控制。
层次结构是:
MainViewController
|
- HeaderViewController1
|
- HeaderViewController2
|
- HeaderViewController3
|
- CollectionViewController
我已设法使用子视图控制器功能将CollectionViewController
添加到MainViewController
:
MainViewController.swift
func loadCollectionView() {
let model = getModel()
let collectionVC = CollectionViewController(withViewModel: model)
addChildViewController(collectionVC)
self.collectionVC = collectionVC
collectionVC.view.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(collectionVC.view)
NSLayoutConstraint.activate([
collectionVC.view.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
collectionVC.view.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
collectionVC.view.topAnchor.constraint(equalTo: view.topAnchor, constant: 0),
collectionVC.view.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0)
])
collectionVC.didMove(toParentViewController: self)
}
标题视图控制器在MainViewController
中具有类似的初始化,但我找不到将它们显示为标题视图的方法。看起来补充视图和UICollectionReusableView
是可行的方法,但在我的情况下,我已经初始化了视图控制器和视图。我如何将它们添加到补充视图中?
这里有什么好的建筑?