隐藏整个应用程序的状态栏

我以编程方式创build视图。 要隐藏状态栏,我使用

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

在viewDidload方法中。 问题是每个视图都必须执行上面的代码才能隐藏状态栏。 有没有一种方法(编程)将状态栏隐藏在应用程序的一个地方,让整个应用程序没有状态栏? 我试图在AppDelegate中添加这个,但它不起作用。

打开你的应用程序plist文件MyApp-Info.plist并添加一行, Status bar is initially hiddenYES值。

编辑:

如果你想以编程的方式做到这一点,请将其添加到ApplicationDidFinishLaunching

 [UIApplication sharedApplication].statusBarHidden = YES; 

如果您使用的是iOS> 3.2的设备,请在AppDelegate类的application:didFinishLaunchingWithOptions:使用以下代码application:didFinishLaunchingWithOptions:方法。

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

只需在Info.plist文件中将“状态栏最初隐藏”键设置为YES即可。
您将在整个应用程序中获得隐藏状态栏。

如果你想以有问题的方式做到这一点,那就把这个代码放到你项目的Appdelegate.m文件中。

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

而不是基于UIView创build新的视图,子类UIView (我们可以称之为SummercView ),并添加一个viewDidLoad方法,它看起来像:

 - (void) viewDidLoad { [UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO]; [super viewDidLoad]; } 

然后在你的xib或storyboard文件中,将你想要隐藏状态栏的视图设置为使用SummercView而不是UIView

当然,Aadhira的回答也很好。 +1给他/她。

难道你不能创build一个viewDidLoad这样做的视图类,并有你的意见是它的子类? 他们仍然必须隐藏状态栏,但至less你不必在每个子类中复制代码。