我可以隐藏状态栏,但是应用程序仍然会注意状态栏的高度(请参见下图)。我还需要确保初始加载时状态栏没有“闪烁”,这是因为它按下了导航菜单按钮,并且在隐藏时又跳回了上面。
我尝试过的方法:
在我的主控制器中添加了以下内容。这使初始加载时的布局更加流畅。
// 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/