我正在开发一个应用,其中UIViewController
( firstViewController )包含一些UILabels
,一个UIButton
和一个UIView
( subView )。 UIView
应显示包含某些图层的UIViewController
( secondViewController )。我无法做到这一点。
我该怎么做才能在 firstViewController的 subView 中显示 secondViewController
答案 0 :(得分:7)
您应该使用UIViewController包含或父/子视图控制器。您可以阅读详细信息here。
最基本的版本是:
UIViewController *parentVC = ...
UIViewController *otherVC = ... // it's view will be added as subview
[parentVC addChildViewController:otherVC];
[parentVC.containerView addSubview:otherVC.view]; // containerView is a view where your child view controller should go
[otherVC didMoveToParentViewController:parentVC];
如果您只将其他视图控制器的视图添加为子视图,则子视图控制器将无法接收所有事件。例如,如果您使用此处建议的其他方法(仅将视图添加为子视图,仅此而已),则您不会将-viewDidAppear:
消息(和其他人)发送到您的子视图控制器。
答案 1 :(得分:4)
您可以通过将另一个视图控制器的视图添加为视图中的子视图
来实现SecondVC *aObjSecondVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondVC"];
[self.view addSubview:aObjSecondVC.view]
答案 2 :(得分:4)
您可以使用以下行添加它:
[self.subView addSubView:secondViewController.view];