我有一个典型的基于View的应用程序(mainwindow.xib + viewControler.xib),其中我在AppDelegate文件中隐藏了这样的状态......
[[UIApplication sharedApplication] setStatusBarHidden:YES];
然后我在主视图(主要是UIWebViews)上创建各种子视图,全屏位于0,0.然后我创建了一个按钮,使您可以切换状态栏的视图.当我显示状态栏并更改屏幕方向时,我的问题就开始了,视图没有窗口的完整尺寸,并且刚好在状态栏之后(y:20而不是y:0)开始,它们的高度是减少了20像素,如果我删除了状态,我可以看到空白区域.
所以问题是这样......代码如何忽略状态栏的存在并始终将新的或重定向的视图定位到0,0而不是0,20(如果显示状态栏).我认为问题不是在我的主视图上,而是在我的MainWindow.xib中,但我找不到任何解决方案.
UPDATE1:我还在检查子视图的autoresizingmask属性中的解决方案.
提前完成了...
我终于找到了解决办法,我可以安然入睡.
解决方案在于属性wantsFullScreenLayout
,您必须将其设置为YES
.请访问添加主视图(superview)的appDelegate并添加以下行:
viewController.wantsFullScreenLayout = YES;
在此之前
[window addSubview:viewController.view];
在didFinishLaunchingWithOptions
您的AppDelegate.m文件.
这样你的超级视图总是使用全屏分辨率,如果状态栏存在则不会调整大小!