隐藏整个应用的状态栏

时间:2012-01-29 12:56:47

标签: objective-c ios

我以编程方式创建视图。要在视图中隐藏状态栏,请使用

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

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

5 个答案:

答案 0 :(得分:10)

打开您的app plist文件MyApp-Info.plist,然后添加一行Status bar is initially hiddenYES值。

编辑:

如果您想以编程方式执行此操作,请在ApplicationDidFinishLaunching

中添加
[UIApplication sharedApplication].statusBarHidden = YES;

答案 1 :(得分:2)

如果您使用iOS>定位设备? 3.2,然后在AppDelegate类的application:didFinishLaunchingWithOptions:方法中使用以下代码。

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

答案 2 :(得分:2)

在Info.plist文件中将“状态栏最初隐藏”键设为“是” 你将在整个申请过程中获得隐藏状态栏。

如果您想通过有问题的方式进行操作,那么只需将此代码放在项目的Appdelegate.m文件中即可。

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

答案 3 :(得分:0)

而不是基于UIView创建新视图,子类UIView(我们可以将其称为SummercView)并向其添加viewDidLoad方法,如下所示:

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

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

当然@Aadhira的答案也很好。 +1给他/她。

答案 4 :(得分:0)

你难道不能创建一个在viewDidLoad中执行此操作的视图类,并且您的视图是它的子类吗?他们仍然必须隐藏状态栏,但至少你不必复制每个子类中的代码。