我知道有一些与此主题相关的问题, 我做了一些研究,但没有一个能为我工作。
所以我有一个tableView,我将一个collectionView Controller作为子视图控制器添加到其中一个单元格中。
这是我在tableview控制器中的代码
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell.contentView.backgroundColor = .red
let vcToAdd = storyboard?.instantiateViewController(withIdentifier: "MainCollectionViewController") as? MainCollectionViewController
self.addChildViewController(vcToAdd!)
vcToAdd?.willMove(toParentViewController: self)
cell.contentView.addSubview((vcToAdd?.collectionView)!)
vcToAdd?.didMove(toParentViewController: self)
vcToAdd!.collectionView!.translatesAutoresizingMaskIntoConstraints = false
vcToAdd?.collectionView?.leftAnchor.constraint(equalTo: cell.contentView.leftAnchor, constant: 0).isActive = true
vcToAdd?.collectionView?.rightAnchor.constraint(equalTo: cell.contentView.rightAnchor, constant: 0).isActive = true
vcToAdd?.collectionView?.bottomAnchor.constraint(equalTo: cell.contentView.bottomAnchor, constant: 0).isActive = true
vcToAdd?.collectionView?.topAnchor.constraint(equalTo: cell.contentView.topAnchor, constant: 0).isActive = true
return cell
}
}
调用子视图控制器(集合视图vc)中的viewDidLoad, 但不是viewWillAppear和viewDidAppear,我几乎阅读了所有相关问题,但仍然无法弄清楚原因。
任何人都可以指出可能出错的地方吗? :/
谢谢