UITableViewController中的状态栏

我使用一个UITableViewControllerUIButton按下时出现的Navigation Controller 。 当button被按下时, TableViewController不带状态栏。 如果我select一个TableViewController的单元格,然后getBack状态栏显示正确。 我不知道发生这种情况的原因。 我想每次都出现状态栏。 我试图从StoryBoard设置状态栏,但它没有工作。 我也从这里以编程的方式尝试了很多解决scheme。

这是Storyboard的一部分,显示了TableViewController和已经select的选项。

故事板

这是错误的结果:

错误

如果我select一个单元格,并返回到TableViewController我有这样的结果:

对

我想每次都有第三张照片的结果。

PS在我的.plist文件中,我将基于视图控制器的状态栏外观设置为YES。

我已经添加到我的viewDidLoad这行:

  [self setNeedsStatusBarAppearanceUpdate]; 

而下面的viewDidLoad这个方法:

 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; } 

它只显示电池寿命。

如果将来有人有同样的问题,这是答案。

第1步:将此添加到您的.plist文件。

查看基于控制器的状态栏外观—> NO

第2步:这两行到你的appDelegate进入didFinishLaunchingWithOptions方法。

 [[UIApplication sharedApplication] setStatusBarHidden:NO]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

下面是一篇文章,解释如何设置基于状态栏的ViewController: iOS 7及更高版本:设置每个视图控制器的状态栏风格

如果在viewDidLoadViewWillAppear没有关于statusBar的相关代码,那么使用[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];修复它[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];ViewWillAppear方法编写这段代码。