2013-12-10 88 views
0

在我的应用程序中,我不打算显示状态栏。所以,我的应用程序覆盖整个屏幕视图。我可以管理做插入状态栏隐藏,但视图在横向模式下被移位

- (BOOL) prefersStatusBarHidden{ 
    return YES; 
} 

方法在我的主要的viewController,也加入到我的应用程序委托

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]; 

任何建议在做这将非常感激。 由于提前, 尼基尔

enter image description here

回答

0

我似乎已经解决了这一问题(至少目前如此)。我没有在info-plist修正的选项

enter image description here

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