将容器视图控制器嵌套在另一个容器视图控制器中
Posted
技术标签:
【中文标题】将容器视图控制器嵌套在另一个容器视图控制器中【英文标题】:Nesting Container View Controller inside another Container View Controller 【发布时间】:2014-05-28 12:12:34 【问题描述】:我有一个带有初始 UIViewController (vc1
) 的 Storyboard,我在其中添加了一个容器视图(持有 vc2
)。不幸的是,我的应用程序没有完整的故事板,所以当我尝试将 vc1
添加到我的 MainController 时
[MainController.view addSubview:vc1];
Xcode 抛出异常
child view controller:<UIViewController: 0xcf9b270> should have parent view controller:<MainController: 0xcca1d20> but actual parent is:<vc1: 0xcf8b370>
我希望它的实际父级是 SecondViewController
... 有没有办法在不使子视图控制器 (vc2
) 成为 MainController
的子级的情况下实现这一点?
【问题讨论】:
【参考方案1】:使用此代码添加子视图控制器:
[mainController addChildViewController:childController];
[mainController.view addSubview:childController.view];
[childController didMoveToParentViewController:mainController];
【讨论】:
试过了...但由于我的childviewcontroller
包含另一个容器视图,它在嵌套视图控制器上吠叫,而不是在direct child
上。
我在许多应用程序中使用相同的代码,并且有多个嵌套的子视图控制器,没有出错..您是否在主视图控制器上添加子视图控制器?因为无论何时使用嵌套的子视图控制器,父级必须始终是添加另一个子级作为其子级视图控制器的子级以上是关于将容器视图控制器嵌套在另一个容器视图控制器中的主要内容,如果未能解决你的问题,请参考以下文章