在另一个UIViewController中显示UIViewController

Rah*_*hul 1 objective-c subview uiviewcontroller uiview ios

我正在开发一个应用程序,其中UIViewController(firstViewController)包含some UILabels,a UIButton和a UIView(subView).在UIView应该显示UIViewController(secondViewController),其中包含一些层.我无法做到这一点.

我应该怎么做,以显示secondViewController子视图firstViewController

MAN*_*rii 7

您应该使用UIViewController包含或父/子视图控制器.你可以在这里阅读细节.

最基本的版本是:

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];
Run Code Online (Sandbox Code Playgroud)

如果仅将其他视图控制器的视图添加为子视图,则子视图控制器将不会接收所有事件.例如,如果您使用此处建议的其他方法(仅将视图添加为子视图,仅此而已),您将不会将-viewDidAppear:消息(和其他)发送到您的子视图控制器.