状态栏隐藏但视图在横向模式下移位

时间:2013-12-10 14:24:05

标签: ios

在我的应用中,我不打算显示状态栏。所以,我的应用程序涵盖整个屏幕视图。我可以设法插入

- (BOOL) prefersStatusBarHidden{
    return YES;
}
在我的主viewController中的

方法,还添加到我的app delegate

 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
       // iOS 7
       [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
 } else {
       // iOS 6
       [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
 }

当我以纵向模式打开应用程序时,这一切都很有效。但是,当在横向模式下打开时,状态栏会隐藏,我会在视图顶部看到黑色的背景图像。实际上,我的视图垂直偏移了状态栏高度的高度(见下图)。

如果我先在纵向模式下打开应用然后再旋转,则不会发生这种情况。所以,我在视图框架的初始化中做错了,我认为这是通常的

   CGRect screenRect = [[UIScreen mainScreen] applicationFrame];    
   [self.view setFrame:screenRect];

对此的任何建议都将非常感激。 提前致谢, NIKHIL

enter image description here

1 个答案:

答案 0 :(得分:0)

我似乎已经解决了这个问题(至少目前为止)。我没有修复info-plist选项

enter image description here

我讨厌这个。要做一个单独的设置,必须添加很多东西,这也是在不同的地方:一个在appDelegate中,另一个在主视图控制器中,另一个完全在代码之外:(。