Ios 在iphone/ipad应用程序中隐藏状态栏

Ios 在iphone/ipad应用程序中隐藏状态栏,ios,objective-c,Ios,Objective C,我正在为iPhone和iPad开发一个应用程序 我的测试iPhone(v4)在iOS 6上。 我的测试iPad在iOS 7上 我想从整个应用程序中删除这两个状态栏 以下是我尝试过的: 在info.plist中,我将状态栏初始隐藏设置为YES,并将查看基于控制器的状态栏设置为NO 这不管用 因此,我已将基于视图控制器的状态栏设置为YES,并在主视图控制器中添加了: - (BOOL)prefersStatusBarHidden{ return YES; } 尽管这个函数从未被调用过 在同一

我正在为iPhone和iPad开发一个应用程序

我的测试iPhone(v4)在iOS 6上。 我的测试iPad在iOS 7上

我想从整个应用程序中删除这两个状态栏

以下是我尝试过的:

在info.plist中,我将
状态栏初始隐藏设置为
YES
,并将
查看基于控制器的状态栏设置为
NO

这不管用

因此,我已将基于视图控制器的状态栏设置为
YES
,并在主视图控制器中添加了:

- (BOOL)prefersStatusBarHidden{
    return YES;
}
尽管这个函数从未被调用过

在同一个控制器中,我已将其添加到
loadview

    [[UIApplication sharedApplication] setStatusBarHidden:YES];
这在iPhone上很管用,但在iPad上仍然可以看到这个条

谢谢你的帮助

编辑:

我还选中了项目设置中的“在应用程序启动期间隐藏”

编辑:

以下是我的项目设置的两个截图

正如你所看到的,我已经尝试了你投票的问题的答案,这是重复的


如果我没有做错,感谢您投票重新打开此问题。

如果您将
状态栏初始隐藏设置为“是”
,它将正常工作

不管怎样,你试过下面的方法吗

-(void)viewDidLoad
{
    [super viewDidLoad];

    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
    {
        [self prefersStatusBarHidden];

        [self setNeedsStatusBarAppearanceUpdate];
    }
}

-(BOOL)prefersStatusBarHidden
{        
    return YES;
}

- (UIViewController *)childViewControllerForStatusBarHidden
{
    return nil;
}

谢谢

如果您将
状态栏初始隐藏设置为YES
,它将正常工作

不管怎样,你试过下面的方法吗

-(void)viewDidLoad
{
    [super viewDidLoad];

    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
    {
        [self prefersStatusBarHidden];

        [self setNeedsStatusBarAppearanceUpdate];
    }
}

-(BOOL)prefersStatusBarHidden
{        
    return YES;
}

- (UIViewController *)childViewControllerForStatusBarHidden
{
    return nil;
}

谢谢

在所有iOS版本中,要在整个应用程序中隐藏状态栏,需要两件事

  • 在info.plist
    中查看基于控制器的状态栏
    设置为
    。(适用于iOS 7)
  • 在您的
    应用程序idfinishLaunching
    中添加
    [[UIApplication sharedApplication]setStatusBarHidden:YES]或简单地
    [应用程序设置状态栏隐藏:是]
  • 现在,您可以选择将
    状态栏初始隐藏
    设置为
    也可以在应用程序启动时隐藏状态栏

    另外,如果你不想在整个应用程序中隐藏状态栏。 删除
    [[UIApplication sharedApplication]setStatusBarHidden:是]

    并覆盖ViewController中的prefersStatusBarHidden
    ,并返回YES或NO

    - (BOOL)prefersStatusBarHidden{
        return YES;
    }
    

    在所有iOS版本中,你需要有两件事才能在整个应用程序中隐藏状态栏

  • 在info.plist
    中查看基于控制器的状态栏
    设置为
    。(适用于iOS 7)
  • 在您的
    应用程序idfinishLaunching
    中添加
    [[UIApplication sharedApplication]setStatusBarHidden:YES]或简单地
    [应用程序设置状态栏隐藏:是]
  • 现在,您可以选择将
    状态栏初始隐藏
    设置为
    也可以在应用程序启动时隐藏状态栏

    另外,如果你不想在整个应用程序中隐藏状态栏。 删除
    [[UIApplication sharedApplication]setStatusBarHidden:是]

    并覆盖ViewController中的prefersStatusBarHidden
    ,并返回YES或NO

    - (BOOL)prefersStatusBarHidden{
        return YES;
    }
    

    单击xCode项目/您的目标/常规/部署信息,然后选中“在应用程序启动期间隐藏”

    单击xCode项目/您的目标/常规/部署信息,然后选中“在应用程序启动期间隐藏”

    只需将部署信息设置为通用。

    只需将部署信息设置为通用。

    之后,iPad上仍会显示该栏。请注意,我已经将状态栏最初隐藏定义为
    YES
    (如我的OP中所述),此后状态栏仍会显示在iPad上。请注意,我已将状态栏初始隐藏定义为“是”(如我的OP中所述)。如果您想在整个应用程序中隐藏状态栏,则步骤1很重要。如果您想在整个应用程序中隐藏状态栏,则步骤1很重要。