Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何让iOS状态栏*覆盖*应用程序界面,而不是向下推?_Javascript_Ios_Cordova_Phonegap Plugins - Fatal编程技术网

Javascript 我如何让iOS状态栏*覆盖*应用程序界面,而不是向下推?

Javascript 我如何让iOS状态栏*覆盖*应用程序界面,而不是向下推?,javascript,ios,cordova,phonegap-plugins,Javascript,Ios,Cordova,Phonegap Plugins,我正在为iOS和其他应用程序开发Phonegap应用程序。风景仅限于风景。我正在使用第3.1页的Phonegap构建。我正在用iOS7测试iPad3。我需要一个解决方案,它不仅可以在iOS7上运行,还可以在后面的几个版本上运行 在Xcode iPad模拟器中,应用程序使用整个屏幕。状态栏是透明的,覆盖在应用程序顶部。然而,当我在iPad上测试应用程序时,状态栏不再透明,并将应用程序向下推20像素,这意味着底部的20像素消失 对于这个特定的应用程序,如果顶部被覆盖会更好,这样应用程序重要的底部部分

我正在为iOS和其他应用程序开发Phonegap应用程序。风景仅限于风景。我正在使用第3.1页的Phonegap构建。我正在用iOS7测试iPad3。我需要一个解决方案,它不仅可以在iOS7上运行,还可以在后面的几个版本上运行

在Xcode iPad模拟器中,应用程序使用整个屏幕。状态栏是透明的,覆盖在应用程序顶部。然而,当我在iPad上测试应用程序时,状态栏不再透明,并将应用程序向下推20像素,这意味着底部的20像素消失

对于这个特定的应用程序,如果顶部被覆盖会更好,这样应用程序重要的底部部分就不会被推到视图之外。因此,问题是: 我可以使状态栏完全消失,还是使其透明并覆盖


我试过Phonegap,但它似乎不能正常工作。我在deviceReady函数中使用了StatusBar.hide,但该条仍在视图中。更糟糕的是,屏幕右侧部分对触摸事件完全没有反应。就好像在屏幕的那一部分有一个透明的覆盖层,可能与。如上所述,虽然覆盖层不是透明的,但它似乎覆盖了与我的情况完全相同的无响应区域。

我在Cordova 3.6+iOS 7.1中很好地实现了这一点。考虑到iOS 7和iOS 8各自拥有50%的市场份额,这个解决方案应该足够了

我使用的插件:org.apache.cordova.statusbar

我没有使用StatusBar.hide,而是使用了:

把它叫做fn onDeviceReady。这是基于:

cordova.exec(
    callbackFn,     // A callback function that deals with the JSON object from the CDVPluginResult instance
    errorFn,        // An error handler
    'TargetClass',  // What class to target messages to (method calls = message in ObjC)
    'methodToCall', // Which method to call
    [ 'array', 'of', 'arguments'] // These go in the CDVInvokedUrlCommand instance's.arguments property
);

我曾经体验过,将它包装在函数中是可行的,而直接使用它有时是行不通的。而且我对通过的论点一无所知

意见:你不想那样做。如果您的视图是可滚动的,那么状态栏下会出现各种难看的文本。视图本身是不可滚动的,但某些视图包含可滚动的元素。在这种情况下,为什么不将视图缩小20磅,并在状态栏下显示呢?也会有同样的效果,不是吗?我可以这样做,但是如果透明的叠加状态栏有效的话,我更喜欢它。对于这些不同的解决方案,iOS6和iOS5的兼容性如何?iOS5/6没有透明覆盖,只有7个。你到底想要什么效果?你还需要一个纯色来让文本可读吗?
cordova.exec(
    callbackFn,     // A callback function that deals with the JSON object from the CDVPluginResult instance
    errorFn,        // An error handler
    'TargetClass',  // What class to target messages to (method calls = message in ObjC)
    'methodToCall', // Which method to call
    [ 'array', 'of', 'arguments'] // These go in the CDVInvokedUrlCommand instance's.arguments property
);