我正在开发一个应用程序,我希望navigationBar不可见并具有深色背景。我希望状态栏颜色为白色。我还希望最初隐藏状态栏。
我已将状态栏样式设置为浅色
但我得到的结果总是黑色文字状态栏,如下所示。
我尝试将“基于控制器的状态栏外观视图”设置为NO,结果是隐藏状态栏。我也尝试过更喜欢StatusBarHidden返回NO但仍然相同。
我尝试将“查看基于控制器的状态栏外观”设置为YES,结果为黑色文本。我试图让preferredStatusBarStyle返回UIStatusBarStyleLightContent,但仍然是相同的。
我做错了什么。提前谢谢。
答案 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
通过这些更改,我得到了以下结果。