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)
这应该是正确的答案.
的解决方案StatusBar.styleDefault();
对我不起作用,但打电话可以StatusBar.overlaysWebView(false)
完成工作。
第一个屏幕截图是调用前应用程序的UI StatusBar.overlaysWebView(false)
,您可以看到iOS状态栏在应用程序上方,并且用户无法单击菜单按钮的整个区域:
现在,当我打电话时StatusBar.overlaysWebView(false)
,iOS状态栏不再位于菜单按钮上方:
我已经在同一个问题上困扰了很长时间,以上解决方案都不适合我。最后,从应用程式的重叠视获得状态栏,添加以下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"
。
希望这可以帮助。
最后问题解决了。
在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)
这解决了我的问题。
归档时间: |
|
查看次数: |
18658 次 |
最近记录: |