ios状态栏后面的离子离子视图头

Azi*_*usa 12 iphone ionic-framework

如何避免离子头像这样落后ios状态栏?

在此输入图像描述

我用以下代码创建了标题:

<ion-view title="{{title}}" hide-nav-bar="false">
Run Code Online (Sandbox Code Playgroud)

Cho*_*ith 11

来自:http://www.sitepoint.com/5-ionic-app-development-tips-tricks/

Ionic有特定的类来处理这个问题 - platform-ios和platform-cordova.Ionic的预构建元素以这些类为目标,并在标题中的按钮中添加20px的上边距,以弥补这些情况.为了让我自己的自定义元素做同样的事情,我遵循相同的模式.对于我上面的.search-bar,如果我们有一个.platform-ios.platform-cordova:not(.fullscreen)body class,我会添加一个边距.例:

.platform-ios.platform-cordova:not(.fullscreen) .search-bar {
     margin-top: 20px;
}
Run Code Online (Sandbox Code Playgroud)

这应该是正确的答案.


Pet*_*ter 5

的解决方案StatusBar.styleDefault();对我不起作用,但打电话可以StatusBar.overlaysWebView(false)完成工作。

第一个屏幕截图是调用前应用程序的UI StatusBar.overlaysWebView(false),您可以看到iOS状态栏在应用程序上方,并且用户无法单击菜单按钮的整个区域:

iOS状态栏位于应用程序上方,用户无法单击菜单按钮的整个区域

现在,当我打电话时StatusBar.overlaysWebView(false),iOS状态栏不再位于菜单按钮上方:

iOS状态栏不再位于菜单按钮上方


Nee*_*eel 5

我已经在同一个问题上困扰了很长时间,以上解决方案都不适合我。最后,从应用程式的重叠视获得状态栏,添加以下preference到我的config.xml文件和中提琴:

  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarBackgroundColor" value="#000000" />
  <preference name="StatusBarStyle" value="lightcontent" />
Run Code Online (Sandbox Code Playgroud)

当然这需要插件:cordova-plugin-statusbar "StatusBar"

希望这可以帮助。


Azi*_*usa 3

最后问题解决了。

在app.js中

$ionicPlatform.ready(function() {
  if (window.cordova && $cordovaKeyboard) {
    $cordovaKeyboard.hideAccessoryBar(true);
  }
  if (window.StatusBar) {
    StatusBar.styleDefault();
  }
}
Run Code Online (Sandbox Code Playgroud)

并且,如果这还不能解决问题。在index.html中,cordova.js应该在最后导入。

<head>
    ...

    <script src="cordova.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。