iOS StatusBarStyle在设置为亮

时间:2017-10-05 14:52:34

标签: ios objective-c uistatusbar

我正在开发一个应用程序,我希望navigationBar不可见并具有深色背景。我希望状态栏颜色为白色。我还希望最初隐藏状态栏。

我已将状态栏样式设置为浅色

https://i.stack.imgur.com/d4GoW.png

但我得到的结果总是黑色文字状态栏,如下所示。

https://i.stack.imgur.com/6qgAu.png

我尝试将“基于控制器的状态栏外观视图”设置为NO,结果是隐藏状态栏。我也尝试过更喜欢StatusBarHidden返回NO但仍然相同。

我尝试将“查看基于控制器的状态栏外观”设置为YES,结果为黑色文本。我试图让preferredStatusBarStyle返回UIStatusBarStyleLightContent,但仍然是相同的。

我做错了什么。提前谢谢。

2 个答案:

答案 0 :(得分:0)

的AppDelegate:

_

答案 1 :(得分:0)

问题是UINavigationController导致嵌入了初始视图控制器。我已经将UINavigationController(NLNavigationController)子类化,并将初始导航控制器的自定义类设置为此(NLNavigationController)。在新的子类中我有这个。

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setNeedsStatusBarAppearanceUpdate];
}

-(BOOL)prefersStatusBarHidden{
    return NO;
}

-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

为了完成这一切,我必须在info.plist中设置

  

将基于控制器的状态栏外观设置为YES

通过这些更改,我得到了以下结果。

https://i.stack.imgur.com/x88Ae.png