在单一视图上隐藏iPhone上的状态栏?

我想在所有视图中的应用程序中显示状态栏。 我曾尝试修改plist中'最初隐藏状态栏',我试过:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

这隐藏了酒吧,但在状态栏所在的地方留下了一个丑陋的蓝色框(这不属于我的观点,那里没有蓝色)。

我也尝试在Xcode 4.2的'界面构建器'位修改布局,希望全屏和状态栏设置。

有什么建议么?

编辑 - 解决方案的种类:

我已经完成了,包括:

    -(void)viewWillDisappear:(BOOL)animated{


    [[UIApplication sharedApplication] setStatusBarHidden:YES];

}


-(void)viewDidAppear:(BOOL)animated{


    [[UIApplication sharedApplication] setStatusBarHidden:NO];

}

在我希望状态栏打开的每一个页面上。

它仍然看起来不稳定和垃圾,因为标签栏出现并且每次切换视图时都会重新出现。 但是我已经受够了,现在工作了大约5个小时这个愚蠢的问题,所以这将不得不做。

第二次编辑 -

通过在viewWillAppears中包含setStatusBarHidden = NO来修复震荡。 上帝知道一切如何运作,但它确实如此。


尝试这一个它会完美运行..

[[UIApplication sharedApplication] setStatusBarHidden:YES];

而在XIB中没有选择状态栏。

适用于iOS 7。

转到info.plist并添加两个属性(如果不存在)。 将“状态栏最初隐藏”设置为“YES”并将“UIViewControllerBasedStatusBarAppearance”设置为“NO”。 这会隐藏你的应用的状态栏。


#pragma mark - Hide statusbar

-(void)hideStatusBar {
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
    // iOS 7.0 or later
    [self setNeedsStatusBarAppearanceUpdate];
#else
    // less than 7
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
#endif
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

如果有人在寻找上述解决方案无法工作的解决方案(并且顶部仍然存在一个令人讨厌的蓝色20像素空白处),请尝试将其放置在视图控制器的实现文件的viewWillAppear中,以获取您想要的状态酒吧被隐藏。

self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0);

这实际上花了我12个小时左右的时间来解决,这就是解决方案,所以现在我正在传播这个词,以防其他人有这个烦人的问题。

链接地址: http://www.djcxy.com/p/42689.html

上一篇: Hide the status bar on iPhone on a single view?

下一篇: Hiding UIStatusBar leaves empty blue bar across screen