Iphone 只有 Ipad 上的应用在顶部显示空白条
Iphone only app on Ipad shows a blank white bar on the top
我有一个 iPhone 唯一的应用程序,它使用 sencha touch 和 cordova,它功能齐全,在 iphone 上没有任何问题。当我 运行 它在 Ipad 上时 - 它在通常显示状态栏的顶部显示空白屏幕。它缩放到适当的高度,即 460px,但顶部有一个白色条。当我 运行 它在 iPhone 甚至 iPad 模拟器上时它不会出现 - 只有当我 运行 它在实际的 IPad 设备上出现时才会出现白条并出现在所有页面上。任何人都知道我怎样才能摆脱这个白条?我也尝试在 index.html 中设置视口,但这也不起作用。
<meta name="viewport" content="initial-scale=1.0">
也尝试过
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="false" />
</feature>
在科尔多瓦 config.xml 但没用。
除此之外,整个应用程序运行良好,没有任何问题。
折腾了两天终于找到答案了。由于我的项目使用的是 cordova 状态栏插件,因此我可以通过调整 index.html 来自定义状态栏。因此,对于遇到相同问题的任何人,在 iPhone 只有应用程序会在您的应用程序页面上方显示空白的白色状态栏,这里的 link 可以解决您的问题:http://www.joshmorony.com/take-complete-control-of-the-ios-status-bar-with-phonegap-build/
所以我所要做的就是在 index.html 中添加行 StatusBar.backgroundColorByName("black")
。因此状态栏显示为黑色并与背景黑色融合,同时应用程序完美可见。这样做的缺点是,即使在 iPhone 时,我的状态栏也会显示黑色背景,这是我不想要的,所以我不得不放置一个 if 条件来检查设备类型。这是我解决问题的全部代码:
<script src="touch/sencha-touch-all.js">
</script>
<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script>
<script>
document.addEventListener('deviceready', function() {
setTimeout(function() {
navigator.splashscreen.hide();
//StatusBar.styleDefault();
if(Ext.os.is.Tablet)
{
StatusBar.backgroundColorByName("black");
}
else
{
StatusBar.styleDefault();
}
}, 1000);
});
</script>
我有一个 iPhone 唯一的应用程序,它使用 sencha touch 和 cordova,它功能齐全,在 iphone 上没有任何问题。当我 运行 它在 Ipad 上时 - 它在通常显示状态栏的顶部显示空白屏幕。它缩放到适当的高度,即 460px,但顶部有一个白色条。当我 运行 它在 iPhone 甚至 iPad 模拟器上时它不会出现 - 只有当我 运行 它在实际的 IPad 设备上出现时才会出现白条并出现在所有页面上。任何人都知道我怎样才能摆脱这个白条?我也尝试在 index.html 中设置视口,但这也不起作用。
<meta name="viewport" content="initial-scale=1.0">
也尝试过
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="false" />
</feature>
在科尔多瓦 config.xml 但没用。
除此之外,整个应用程序运行良好,没有任何问题。
折腾了两天终于找到答案了。由于我的项目使用的是 cordova 状态栏插件,因此我可以通过调整 index.html 来自定义状态栏。因此,对于遇到相同问题的任何人,在 iPhone 只有应用程序会在您的应用程序页面上方显示空白的白色状态栏,这里的 link 可以解决您的问题:http://www.joshmorony.com/take-complete-control-of-the-ios-status-bar-with-phonegap-build/
所以我所要做的就是在 index.html 中添加行 StatusBar.backgroundColorByName("black")
。因此状态栏显示为黑色并与背景黑色融合,同时应用程序完美可见。这样做的缺点是,即使在 iPhone 时,我的状态栏也会显示黑色背景,这是我不想要的,所以我不得不放置一个 if 条件来检查设备类型。这是我解决问题的全部代码:
<script src="touch/sencha-touch-all.js">
</script>
<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script>
<script>
document.addEventListener('deviceready', function() {
setTimeout(function() {
navigator.splashscreen.hide();
//StatusBar.styleDefault();
if(Ext.os.is.Tablet)
{
StatusBar.backgroundColorByName("black");
}
else
{
StatusBar.styleDefault();
}
}, 1000);
});
</script>