最近在开发的过程中,测试提了一个这样的bug:『当开启热点的时候,屏幕显示不完整。』
后来看了一下,确实存在这个问题。当打电话或者热点的情况下,statusBar会从20px变为40px,就是说self.view
的高度会改变。举个🌰,在iPhone6的尺寸下,self.view.frame(bounds).height
会从 667 变为 647。
如果使用的绝对布局,就是之前写代码的那个人写代码的方式,很有可能出现这个问题。
解决方案##
- 把绝对布局变为 autoLayout 。
- 使用通知进行重新布局。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarDidChanged) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];