ios – 在通话时管理UIWindow高度

前端之家收集整理的这篇文章主要介绍了ios – 在通话时管理UIWindow高度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Turning on hot spot on iPhone causes my app’s screen shift downwards                                    3个
我在IOS应用程序中工作,所有工作都是以编程方式完成的,我们还没有在完整的应用程序中使用autolayout.

但是我很久以来就遇到过一个问题,那就是当我接到电话或者我的热点在那种情况下我的设备状态栏高度发生变化时.

所以在这种情况下,我如何管理应用程序框架,以便管理我的UIView.

先感谢您.

解决方法

只要状态栏的高度发生变化,就会调用以下函数.只需将这些功能添加到AppDelegate.m文件即可.当状态栏改变其高度时,将调用它们.其中一个在变化之前被调用,另一个在变化之后被调用.

//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
//}

开始:

enter image description here

通过切换呼叫状态栏来更改statusBar高度

enter image description here

更改框架的最终结果:

enter image description here


希望这可以帮助.快乐的编码.
Reference

猜你在找的iOS相关文章