我可以通过编程方式创建UIContainerView吗?

Cha*_*kle 12 ios uicontainerview swift

我正在尝试创建一个使用UIContainerViews来托管UIViewControllers的动态View流.需要以编程方式将UIContainerViews(或UIViewControllers)添加到UIView以允许多个并排.

我一直在环顾四周,但找不到任何可以用来创建我的UIContainerView的构造函数.

有没有一种简单的方法可以做到这一点,还是反对创建可重用视图的正常准则?

总而言之,我想实现这样的目标:

var containerView = UIContainerView()
containerView.add(myViewController)
Run Code Online (Sandbox Code Playgroud)

Sim*_*lin 18

A UIContainerView只是一种将viewController作为另一个子节点添加并设置其边界的可视方式.

您可以通过将第二个viewController添加为第一个视图的子视图,以第二个视图并将其放置在第一个视图的某个位置来以编程方式执行此操作.

像这样的东西;

childVC = [[SomeViewController alloc] init];

[self addChildViewController:childVC];

[self.view addSubview:childVC.view];

[childVC didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)

  • @Chackle所有交互都将由`SomeViewController`中的逻辑处理.它的功能就像两个viewControllers同时在屏幕上一样,彼此独立.如果用户在父项上滚动scrollView,则会通知父项,如果用户在子项上滚动scrollView,则会通知childVC.唯一的区别是父母必须管理childVC的生命周期 (5认同)