为UICollectionView的每个单元设置一个控制器

时间:2018-02-16 14:25:33

标签: ios swift uicollectionview uicollectionviewcell

我有一个带4个单元的UICollectionView,我有一个名为SwipingController的4个页面的控制器。

我想为每个单元格设置一个UIViewController,我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

我反对你的意图。

最好只有视图管理他们的布局,您不需要控制器来管理布局。 如果你朝着这个方向前进,我不认为你将来能够拥有一个熟悉的架构(MVC / MVVM / MVP / VIPER ......)。

同时检查this。它将帮助您更好地理解视图控制器的作用。

尽管如此,您可以使用addChildViewControllerdocumentation here

来实现这一目标

添加子视图

let controller = storyboard?.instantiateViewController(withIdentifier: "test") as! UIViewController
self.addChildViewController(controller)
controller.view.frame = CGRect(0, 44, 320, 320)
self.view.addSubview(controller.view)
controller.didMove(toParentViewController: self)

删除子视图

let vc = self.childViewControllers.last
vc.removeFromSuperview()
vc.willMove(toParentViewController: nil);
vc.removeFromParentViewController()