我可以隐藏状态栏,但是应用程序仍然会注意状态栏的高度(请参见下图)。我还需要确保初始加载时状态栏没有“闪烁”,这是因为它按下了导航菜单按钮,并且在隐藏时又跳回了上面。

我尝试过的方法:

在我的主控制器中添加了以下内容。这使初始加载时的布局更加流畅。

// 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插件。

我也是一名Web开发人员,因此在提供涉及更改obj-c的答案时,请像我5岁一样进行解释:}

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

谢谢!

最佳答案

我对您的帖子发表了评论,但这是我想出的解决方案。

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

 $ 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);
        }
    });
})

关于ios - 如何在iOS应用程序中完全删除UIStatusBar?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23553220/

10-11 07:15