在iOS7中显示教程页面时如何隐藏状态栏?

在iOS7中显示教程页面时如何隐藏状态栏?,ios,xcode,statusbar,Ios,Xcode,Statusbar,当我的应用程序第一次安装或更新时,我按照链接显示教程页面。因为我不认为在显示这些页面时显示状态栏是好的,所以我想在教程页面中隐藏它们,并在主视图控制器中再次显示它们。我已将序列图像板中的PageViewController的状态栏设置为None,但它不工作。此外,我还尝试将一些帖子中提到的以下代码添加到PageContentViewController.m文件中。然而,它也不起作用 - (BOOL)prefersStatusBarHidden { return YES; } 有人知道怎

当我的应用程序第一次安装或更新时,我按照链接显示教程页面。因为我不认为在显示这些页面时显示状态栏是好的,所以我想在教程页面中隐藏它们,并在主视图控制器中再次显示它们。我已将序列图像板中的
PageViewController
的状态栏设置为
None
,但它不工作。此外,我还尝试将一些帖子中提到的以下代码添加到
PageContentViewController.m
文件中。然而,它也不起作用

- (BOOL)prefersStatusBarHidden {
    return YES;
}

有人知道怎么解决吗?多谢各位

您可以使用显示教程ViewController

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
我发现的最简单的解决方法是将要显示的视图控制器包装在导航控制器中,然后显示该视图控制器

[self presentViewController:viewController animated:YES completion:NULL];
优势:
  • 不需要框架
  • 同样的代码适用于iOS 6和iOS 7
  • 比其他解决方法更简单

不要忘记将.plist文件中的
查看基于控制器的状态栏外观
设置为
。 然后使用

-(BOOL)prefersStatusBarHidden
{
    return NO;
}

在每个viewController中启用或禁用状态栏。

在显示教程时,您可以使用此代码隐藏状态栏,并在通过设置
setStatusBarHidden:NO
删除教程时再次显示状态栏。