2012-05-31 61 views
0

在我的iPhone应用程序中,整个应用程序的默认方向是横向模式。我想隐藏状态栏,所以我在appDelegate中使用了[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];。但状态栏仅隐藏在第一个启动画面中,并且在视图控制器中,它在顶部和所有其他视图控制器中留下一个空白区域,并在底部留出空白区域。我用下面的方法来解决问题,但没有奏效。在横向模式下隐藏状态栏时的问题iphone

  1. [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

  2. 在info.plist中状态栏最初hidden = YES

  3. 设置状态栏是在界面生成器等于None

  4. 新增[self.view setNeedsLayout];
    [self setWantsFullScreenLayout:YES];

不过它不是固定的。任何想法?请帮忙。

+0

我尝试使用[应用程序setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]并对我来说它工作正常。你如何分配视图控制器框架? –

+0

我不是通过代码分配框架,我已将视图添加到界面生成器文件中的视图。 – Mithun

+0

你是否从xib移除状态栏?可能是'setStatusBarHidden:YES'功能只需要纵向模式,尝试所有的定向模式,我对此没有任何其他想法。 – relower

回答

0

打开您的.plist文件并添加一个新的“状态栏最初隐藏”键,然后将值设置为YES。我希望这可以帮助你。

2

找到解决方案,隐藏状态栏[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];就够了。但仍然有一个白色的空间。当我通过Interface Builder将视图添加到视图控制器时,状态栏隐藏时,每个视图的帧大小不会自动调整。所以,我必须在Interface Builder的Size Inspector中为每个视图设置Autoresizing方向。这解决了这个问题。希望对某些人有帮助,那就是为什么我在这里发布答案。 :)

+0

哇..这很酷。这也解决了我的问题.. !! – Mithuzz

+0

我很高兴它帮助你:) – Mithun