我正在尝试创建一个使用UIContainerViews来托管UIViewControllers的动态View流。需要以编程方式将UIContainerViews(或UIViewControllers)添加到UIView以允许多个并排。
我一直在四处寻找,但找不到任何可以用来创建我的UIContainerView的构造函数。
是否有一种简单的方法可以执行此操作,还是违反了创建可重用视图的正常准则?
总而言之,我希望实现这样的目标:
var containerView = UIContainerView()
containerView.add(myViewController)
答案 0 :(得分:18)
UIContainerView
只是一种将viewController作为另一个子节点添加并设置其边界的可视方式。
您可以通过将第二个viewController添加为第一个视图的子视图,以第二个视图并将其放置在第一个视图的某个位置来以编程方式执行此操作。
像这样;
childVC = [[SomeViewController alloc] init];
[self addChildViewController:childVC];
[self.view addSubview:childVC.view];
[childVC didMoveToParentViewController:self];