您的位置:首页 > 其它

addChildViewController后开启热点/wifi/打电话引起的子vc的布局问题

2016-12-08 11:05 423 查看
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #00b1ff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #ffffff }
span.s1 { color: #ffffff }
span.s2 { color: #de38a5 }
span.s3 { }
span.s4 { color: #08fa95 }
span.s5 { color: #00b1ff }
使用下面的方法可以把一个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];
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: