fin*_*tic 6 user-interface ios
我目前正在开发iPad应用程序.该应用程序只包含两个视图,但每个视图包含许多按钮和标签.当前,设置两个视图的布局.每个都设置在视图控制器中.我还有另一个视图控制器,它包含顶部的主菜单和一个大容器(UIView),我希望它能够保存我提到的两个视图.
我的问题是,有没有办法在视图中显示视图控制器?我想在单击主菜单中的按钮时在该容器内显示一个视图控制器(UIView),当我点击另一个按钮时显示另一个.如果我的计划不可行,那么请提出一些建议,以使同样的事情发挥作用.
非常感谢!
iph*_*nic 10
是的,您可以通过添加UIViewController view以下内容轻松完成.
_viewController=[self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self.view addSubview:viewController.view];
Run Code Online (Sandbox Code Playgroud)
一旦你在里面添加viewController.view你的viewDidLoad方法ViewController就被调用.
更新:根据UIViewController类参考,在另一个ViewController中添加UIViewController作为子视图时,需要再添加两个步骤.
[self addChildViewController:viewcontroller];
[self.view addSubview:viewController.view];
[viewcontroller didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)
以上完成了答案.
希望这可以帮助.干杯.
自定义容器视图控制器正是您所需要的.如果使用Interface Builder和故事板 - 找到容器视图,将其拖到视图中并将包含的类设置为视图控制器.

如果您不使用故事板或IB(我鼓励您这样做) - 请按照上面的链接并实现向视图控制器添加子视图控制器.永远不要在没有预先addChildViewController:呼叫的情况下添加子视图,这可能会导致意外结果.通常,添加子视图控制器应按此顺序:
[self addChildViewController:childvc][self.view addSubview:childvc.view][childvc didMoveToParentViewController:self]在这种情况下,一切都会正常工作.