我想要实现自己的容器视图控制器。
请想象这是我的iPad。
类似于常规的分割视图控制器,但我想要扩展它:视图“A”的宽度应该可以调整大小,当我点击视图'B'时,视图'C'会进入可见区域。
例如,在我的Storyboard中,我有3个容器视图:AViewController(用于A视图),BViewController,CViewController和一个组合视图控制器(初始视图控制器)。 在组合视图控制器中,我将从容器视图实现嵌入Segue,并通过以下代码初始化容器视图之间的关系:
类似于常规的分割视图控制器,但我想要扩展它:视图“A”的宽度应该可以调整大小,当我点击视图'B'时,视图'C'会进入可见区域。
例如,在我的Storyboard中,我有3个容器视图:AViewController(用于A视图),BViewController,CViewController和一个组合视图控制器(初始视图控制器)。 在组合视图控制器中,我将从容器视图实现嵌入Segue,并通过以下代码初始化容器视图之间的关系:
@property ... *aViewController,*bViewController,*cViewController;
- (void)prepareForSegue:(UIStoryboardSegue *)segue
sender:(id)sender
{
if ([segue.identifier isEqualToString:@"EmbedAViewController"])
{
self.aViewController =
segue.destinationViewController;
}
if ([segue.identifier isEqualToString:@"EmbedBViewController"])
{
self.bViewController=segue.destinationViewController
}
-(void)viewDidLoad
{
[super viewDidLoad];
self.aViewController.bViewController=self.bViewController;
}
问题1:使用storyboards实现我的任务是正确的方式吗? 问题2:容器视图有哪些限制?它是addChildViewController API的可视化替代品吗?如果不是,在哪里应该实现子父关系?我应该在prepareForSegue方法中使用它来实现我的组合视图控制器。
[self addChildViewController:aViewController];
[self.view addSubview:aViewController.view];
问题3: 如何在开始时将容器视图放置在可见区域之外?
如果我在某个地方犯了错误或者对基本概念有很大的误解,请不要打击我。我做了很多谷歌搜索,非常感谢任何帮助。提前致谢!
编辑:
我想建立它们之间的关系。 "B" 视图的内容取决于 "A",而 "C" 视图的内容取决于 "B"。