Ios 添加子视图控制器
我有两个视图,Ios 添加子视图控制器,ios,objective-c,Ios,Objective C,我有两个视图,ParentViewController和ChildViewController;我想将ChildViewController嵌套在ParentViewController中。我在故事板中设计了ParentViewController和ChildViewControllerParentViewController.m包含父对象的逻辑,而ChildViewController.m包含子对象的逻辑。在ParentViewController.m中,我添加了如下子级: ChildVie
ParentViewController
和ChildViewController
;我想将ChildViewController
嵌套在ParentViewController
中。我在故事板中设计了ParentViewController
和ChildViewController
ParentViewController.m
包含父对象的逻辑,而ChildViewController.m
包含子对象的逻辑。在ParentViewController.m
中,我添加了如下子级:
ChildViewController *childVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ChildSBI"];
[self addChildViewController:childVC];
我的问题:如何在ParentViewController
中定位childVC
(即设置其原点)
似乎我想做如下事情:
- 将容器视图添加到父视图控制器的视图层次结构中
- 将“嵌入”序列从该容器视图拖动到子视图控制器
- 您可以使用通常的
方法让父控制器将数据传递给子控制器-prepareforsgue:sender:
ChildViewController *childVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ChildSBI"];
[self addChildViewController:childVC];
之后,父视图控制器应设置子视图的位置并将其添加到父视图中,如下所示:
UIView *childView = childVC.view;
childView.frame = CGRectMake(150, 300, 100, 100); //use whatever coordinates you want
[self.view addSubview:childView];
中有更多详细信息,但您的问题的基本答案是容器控制器应设置所包含控制器视图的大小和位置。谢谢您的提示。那么,在实例化父对象时,是否会自动调用prepareForSegue?我计划在viewDidLoad中调用addChildViewController,因为childview将始终是这样present@Apollo是的,如果使用嵌入序列,则子视图控制器将被实例化,并且当父控制器加载其视图时将调用
-prepareforsgue:sender:
。感谢您提供非常详细的答案和更新的编程解决方案。我的朋友非常乐于助人。