如何在iOS中隐藏状态栏?

时间:2012-09-30 11:50:19

标签: ios statusbar

我可以在我的应用中隐藏状态栏:

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

当我选择我的发布图像并第一次启动时,它就是图片上的状态栏。我怎么能隐藏这个?

15 个答案:

答案 0 :(得分:128)

您需要在AppDelegate文件中添加此代码,而不是在Root View Controller中添加

或者在plist文件中添加属性状态栏最初隐藏

enter image description here

人们,在 iOS 7 +

请将此信息添加到您的info.plist文件中,它会有所不同:)

UIStatusBarHidden UIViewControllerBasedStatusBarAppearance

enter image description here

适用于iOS 11.4+和Xcode 9.4 +

在一个或所有视图控制器中使用此代码

  

覆盖var prefersStatusBarHidden:Bool {        return true}

答案 1 :(得分:79)

将以下代码添加到视图控制器:

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    // iOS 7
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
    // iOS 6
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

答案 2 :(得分:64)

这对我有什么帮助(更改plist文件):

  1. 设置状态栏最初隐藏=是
  2. 添加行:查看基于控制器的状态栏外观=否
  3. Hide StatusBar - plist settings

答案 3 :(得分:41)

将此代码放入您隐藏状态栏的视图控制器中:

- (BOOL)prefersStatusBarHidden {return YES;}

答案 4 :(得分:12)

在iOS 7中,状态栏外观默认取决于UIViewController。要全局隐藏状态栏,请在info.plist中使用NO键的UIViewControllerBasedStatusBarAppearance值,并使用UIApplication的{​​{1}}方法setStatusBarHidden {{1价值。

答案 5 :(得分:11)

在“info.plist”中的下拉列表中添加此密钥,瞧,您将不会再看到包含GSM,wifi图标等元素的顶栏。
enter image description here

答案 6 :(得分:1)

info.plist

View controller-based status bar appearance NO
Status bar is initially hidden YES

view controller.m

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

答案 7 :(得分:1)

我支持iOS 5,6和& 7.我的应用程序仅限iPad。我需要使用以下所有内容:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

查看控制器:

- (BOOL)prefersStatusBarHidden{ return YES; }

的Info.plist

    <key>UIStatusBarHidden</key>
    <string>YES</string>

    <key>UIStatusBarHidden~ipad</key>
    <true/>

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <string>NO</string>

答案 8 :(得分:1)

它为我工作,

请将以下代码添加到info.plist文件中,

 <key>UIStatusBarHidden</key>
 <false/>
 <key>UIViewControllerBasedStatusBarAppearance</key>
 <false/>

希望这对某些人有用。

答案 9 :(得分:0)

只需选中目标/摘要iPad部署信息框,您的状态栏就会消失。 它适用于我的应用程序。

答案 10 :(得分:0)

我有同样的问题,但它很容易解决!只需设置

status bar is initially hidden = YES

然后点击文字status bar is initially hidden后面的加号右边添加一行,然后将文字设置为

view controller-based status bar appearance

点击箭头,然后将其设置为NO

希望这有帮助!

答案 11 :(得分:0)

我最简单的方法是在.m文件中输入以下内容。

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

这应该有效!

答案 12 :(得分:0)

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

答案 13 :(得分:0)

在视图控制器中的swift中的完整解决方案

// you can use your own logic to determine if you need to hide status bar
// I just put a var here for now
var hideStatusBar = false
override func preferStatusBarHidden() -> Bool {
    return hideStatus
}


// in other method to manually toggle status bar
func updateUI() {
    hideStatusBar = true
    // call this method to update status bar
    prefersStatusBarHidden()
}

答案 14 :(得分:0)

要以编程方式隐藏每个视图控制器的状态栏,请使用以下两个过程之一:

程序1:

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

程序2:

- (BOOL)更喜欢StatusBarHidden {

overflow: hidden

}

要隐藏整个应用程序的状态栏,我们应该按照以下步骤进行操作:

您应该将此值添加到plist:&#34;查看基于控制器的状态栏外观&#34;并将其设置为&#34; NO&#34;。

Click here to view screenshot