无法隐藏单个UIViewController中的状态栏

我想隐藏单视图控制器中的staus酒吧,但我的代码不工作。 我正在使用下面的代码

-(BOOL)prefersStatusBarHidden { return YES; } 

 -(void)viewWillApper:(BOOL)animated{ [[UIApplication sharedApplication] setStatusBarHidden:YES]; } -(void)viewWillDisappear:(BOOL)animated{ [[UIApplication sharedApplication] setStatusBarHidden:NO]; } 

您应该将此值添加到plist:“查看基于控制器的状态栏外观”并将其设置为“否”。

在这里输入图像说明

要么

 application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions write [[UIApplication sharedApplication] setStatusBarHidden:YES]; 

要么

在viewdidload中添加以下行

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

并添加新的方法

  - (BOOL)prefersStatusBarHidden { return YES; } 

如果您在应用程序的plist中将View controller-based status bar appearance设置为YES ,请将此代码放置在视图控制器中:

 - (BOOL)prefersStatusBarHidden { return YES; } 

并且如果View controller-based status bar appearance设置为NO ,则只要要隐藏状态栏,请执行以下操作。

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 

试试这个对我来说是帮助 –

 -(BOOL)prefersStatusBarHidden { return YES; } 

要在单个VC上隐藏状态栏:

1)将这个值添加到plist:

“查看基于控制器的状态栏外观”并将其设置为“是”

2)添加以下查看将会出现:

 [self prefersStatusBarHidden]; 

3)增加新的方法:

 -(BOOL)prefersStatusBarHidden { return YES; }