我正在摆弄一些代码来尝试让 UIViewController 包含工作(在 iPad 应用程序中)。
场景如下:我有一个视图,我想在上面显示第二个视图。我想要第二个(不同的) UIViewController 管理与第二个视图的所有交互。第一个视图将在按下按钮时加载第二个视图。当按下按钮时,以下代码在第一个控制器中运行:
-(void)displayPropertyView // <-button triggers this
{
// Need to instantiate a new view and add it to the main editor view.
HPSQuestionListController* questionListController = [ [ HPSQuestionListController alloc ] init ];
[self.view addSubview:questionListController.view];
[self.view bringSubviewToFront:questionListController.view];
[self pushViewController:questionListController animated:YES];
}
-(void)pushViewController:(UIViewController*)controller animated:(BOOL)animated
{
[self addChildViewController:controller];
//[controller didMoveToParentViewController:self];
if (YES)
{
[self transitionFromViewController:self
toViewController:controller
duration:1.0
options:nil
animations:^{}
completion:^(BOOL finished){
[controller didMoveToParentViewController:self];
}];
}
}
该应用程序在 transitionFromViewController 行崩溃:
子视图控制器,并且在调用 -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]' 时必须有一个共同的父视图控制器
有谁知道如何解决这个问题?我对 UIViewController 包含的理解是,我可以让两个控制器同时管理两个视图。这是错的吗?