iOS 7中隐藏导航栏时的状态栏

时间:2014-04-15 08:22:36

标签: ios uinavigationcontroller

我使用UINavigationController构建应用程序是根视图,我有问题隐藏导航栏,当我隐藏导航栏self.navigationController.navigationBarHidden = YES;状态栏半透明不像状态栏iOS 6版本,如app Apple Store

enter image description here

如何解决?

PS:我将UIBarPositionTopAttached用于UIStatusBar,如iOS 6

2 个答案:

答案 0 :(得分:0)

1.在viewDidLoad中添加此行以获得默认iOS6样式..

[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackOpaque];

如果你需要在整个应用程序中使用默认的syle,请尝试这样做。

info.plist
      ----> Status Bar Style
                  --->UIStatusBarStyle to UIStatusBarStyleBlackOpaque

2.添加以下方法以调整iOS7 ..

中的状态栏高度
- (void)viewDidAppear:(BOOL)animated
{
    [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7) {
        CGRect windowFrame = [UIScreen mainScreen].bounds;
        windowFrame.origin.y+=20.0;
        windowFrame.size.height-= 20.0;
        self.view.frame = windowFrame;
        [self.view layoutIfNeeded];
    }
}

答案 1 :(得分:0)

你可以通过plist直接设置状态栏black opaque。在.plist文件中添加这个键

<key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleBlackOpaque</string>

感谢。