在iOS 7上使用NavigationBars时,StatusBar颜色永远不会更改

时间:2013-10-03 18:53:31

标签: objective-c ios7 uinavigationbar statusbar uistatusbar

我正在尝试更改应用程序StatusBar颜色,它仅在我的XIB没有navigationBars时才有效。为此,我将以下函数添加到源文件中:

-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

但是当我呼叫[self.navigationController setNavigationBarHidden:NO animated:NO];时,状态栏会回到默认样式。

这让我相信导航栏应该为自己设置statusBar颜色。

Ant建议?

1 个答案:

答案 0 :(得分:1)

修复了此设置为整个应用程序设置的唯一StatusBar颜色,而不是为每个ViewController执行此操作。它只用了两步:

  1. 在MyAppName-Info.plist上定义“查看基于控制器的状态栏外观”=否

  2. 在我的 - (BOOL)应用程序中添加了以下行:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions AppDelegate function

  3.   

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    它对我有用=)