在我的iOS视频应用中,状态栏隐藏在一些视图控制器中。我已经使用以下代码做到了这一点。

[[UIApplication sharedApplication] setStatusBarHidden:YES];

它适用于iOS 5和iOS 6,但不适用于iOS 7。 我在特定的视图控制器中尝试了这个,

Eg:

-(BOOL)prefersStatusBarHidden { return YES; }

它工作得很好,但是我不能在父视图控制器中再次显示状态栏。


当前回答

试试这个简单的方法:


objective - c:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated]
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated]
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}

迅速:

override func viewWillAppear(animated: Bool) 
{
    super.viewWillAppear(animated)
    UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
}

override func viewWillDisappear(animated: Bool) 
{
    super.viewWillDisappear(animated)
    UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
}

其他回答

试试;

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

Swift 3更新:

更新信息。请输入以下信息:

基于视图控制器的状态栏外观:NO

然后,在ViewController或其他地方:

isstatusbarhidden = true

为了更好地理解,添加一些带有评论的照片:

App在任何更改前

在名为“支持文件”的Project Navigator文件夹中找到,然后单击*。plist文件

之后你会得到不同的设置你的应用程序显示。你需要添加2个键UIStatusBarHidden和UIViewControllerBasedStatusBarAppearance。你可以简单地点击+按钮

按下+键后,你可以选择其中一个键开始打字。

正确的版本:

最后,在应用这些变化之后:

另外,你可以在这里找到另一种解决方案

你应该将这个值添加到plist: "View controller-based status bar appearance"并将其设置为"NO"。

要在iOS7中隐藏状态栏,你需要2行代码

在应用程序中:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions写入 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 在信息。加上这个 基于视图-控制器的状态栏外观= NO