子控制器

时间:2017-09-08 10:29:21

标签: ios swift cocoa-touch uicollectionview uikit

我正在尝试实现下面显示的布局(标题与集合视图一起滚动,它们没有固定):

Collection view layout

根据要求headerView1headerView2headerView3collectionView由不同的控制器控制。 层次结构是:

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是可行的方法,但在我的情况下,我已经初始化了视图控制器和视图。我如何将它们添加到补充视图中?

这里有什么好的建筑?

0 个答案:

没有答案