使用下面的方法可以把一个vc加到另个vc里面
[self addChildViewController:self.subVC]; [self.view addSubview:self.subVC.view]; self.subVC.view.frame = frame; [self.subVC didMoveToParentViewController:self];
如果仅是上面这样处理,大部分情况下是没有问题的,一些特殊情况下subVC会出现布局问题。比如:先拨打电话,或者开启热点或wifi,并且有的别的设备连接,这时再启动app,发现状态栏上会多起一个打电话或热点的状态,挂断电话或关闭热点或wifi以后会发现subVC的view布局有问题,可以
viewWillLayoutSubviews方法中重置subVC的frame 来解决问题。subVC最好用自动布局,这样即使打电话的过程中也能正常使用app
- (void)viewWillLayoutSubviews{ if (self.subVC) { self.subVC.view.frame = self.view.frame; [self.subVC viewWillLayoutSubviews]; } }