参见英文答案 >
Turning on hot spot on iPhone causes my app’s screen shift downwards 3个
我在IOS应用程序中工作,所有工作都是以编程方式完成的,我们还没有在完整的应用程序中使用autolayout.
我在IOS应用程序中工作,所有工作都是以编程方式完成的,我们还没有在完整的应用程序中使用autolayout.
但是我很久以来就遇到过一个问题,那就是当我接到电话或者我的热点在那种情况下我的设备状态栏高度发生变化时.
所以在这种情况下,我如何管理应用程序框架,以便管理我的UIView.
先感谢您.
解决方法
只要状态栏的高度发生变化,就会调用以下函数.只需将这些功能添加到AppDelegate.m文件即可.当状态栏改变其高度时,将调用它们.其中一个在变化之前被调用,另一个在变化之后被调用.
希望这可以帮助.快乐的编码.
Reference
//Called before the change - (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame { //Change the size of Window self.window.frame = CGRectMake(0.0f,60.0f,200.0f,200.0f); //In your case it will be //self.window.frame = CGRectMake(0.0f,40.0f,self.window.frame.size.width,self.window.frame.size.height - 40); } //Called after the change //- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame{ //Change the size of Window //}
开始:
通过切换呼叫状态栏来更改statusBar高度
更改框架的最终结果:
希望这可以帮助.快乐的编码.
Reference