如何在iOS应用程序中完全删除UIStatusBar?

时间:2014-05-08 21:52:46

标签: ios cordova ionic-framework

我可以让状态栏隐藏,但应用程序仍然尊重栏的高度(见下图)。我还需要确保它不是一个闪烁的'状态栏隐藏在初始加载状态,因为它按下导航菜单按钮,然后跳回到隐藏状态。

我尝试过的方法:

在我的主控制器中添加了以下内容。这个在初始加载时闪烁布局。

// hide the status bar 
ionic.Platform.fullScreen();

在info.plist

中设置键,值对
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

等同于:

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

尝试使用StatusBar plugin加载:

  .run(function($ionicPlatform) {
    $ionicPlatform.ready(function() {
       // Hide the status bar
       if(window.StatusBar) {
         StatusBar.hide();
       }
     });
  })

尝试在我的MainViewController.m中设置以下内容

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

并添加新方法

- (BOOL)prefersStatusBarHidden {
return YES;
}

我已尝试过github上的3种不同的cordova插件。

我也是一名网络开发人员,因此在提供涉及更改obj-c的答案时,请像我一样解释:*

http://forum.ionicframework.com/t/how-to-hide-uistatusbar/4025

谢谢!

enter image description here

4 个答案:

答案 0 :(得分:1)

我在你的帖子上留下了评论,但这是我提出的解决方案。

您可以做的是安装启动画面插入

 $ cordova plugin add org.apache.cordova.splashscreen

然后在.run函数中执行此操作

.run(function ($ionicPlatform, $timeout) {
    $ionicPlatform.ready(function () {
        // Hide the status bar
        if (window.StatusBar) {
            StatusBar.hide();
            $timeout(function () {
                window.navigator.splashscreen.hide();
            }, 2500);
        }
    });
})

答案 1 :(得分:0)

尝试在视图控制器中实现prefersStatusBarHidden。例如

- (BOOL)prefersStatusBarHidden
{
  return YES;
}

答案 2 :(得分:0)

对于每个视图中的ios 7写入方法:

- (BOOL)prefersStatusBarHidden 
{
   return YES;
}

对于ios 6,在homeview或appdelegate中写下一次

[UIApplication sharedApplication].statusBarHidden = YES;

答案 3 :(得分:0)

'CDVViewController.m'中,转到

- (void)viewDidLoad

并插入以下

[[UIApplication sharedApplication] setStatusBarHidden:YES];

我的CDVViewController.m看起来像这样,

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSURL* appURL = nil;
    NSString* loadErr = nil;
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
.....