0
正如我确信你们都知道,苹果已经改变了状态栏在iOS7中的工作方式,这导致了与cordova/phonegap应用程序的各种令人头疼的问题。如何更改iOS7 phonegap/cordova应用中状态栏的webview背后的背景颜色?
我已经设法通过20像素推视图下来,如果设备运行iOS7使用以下代码:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
// handling statusBar (iOS6) by leaving top 20px for statusbar.
screenBounds.origin.y = 20;
self.window = [[UIWindow alloc] initWithFrame:screenBounds];
}
else {
self.window = [[UIWindow alloc] initWithFrame:screenBounds];
}
的问题是,在20像素的间隙,该代码创建了具有黑色的背景像这样的:
我如何改变我的代码创造了这个空间的背景色?
在我的MainViewController.xib中,背景颜色设置为白色。这个黑色背景颜色属性来自哪里?
这里是我的MainViewController.xib属性:你实际使用PhoneGap的
非常感谢
是的,我使用的科尔多瓦3.0。我使用这个JavaScript代码,但它不适用于绝对定位的元素。我想找到一个本地解决方案,这样我就不必根据操作系统版本不断地添加有条件的绝对定位元素。我刚刚在iPhone 5上运行我的应用程序,它的行为与模拟器不同;该视图不会被按下20px,并且背景是白色的。 – remondo
所以它在模拟器中只有一个问题? –
iOS7模拟器显示状态栏的方式与iOS6相同,即黑色背景,白色文本,除了我希望黑色背景为白色外,其他都是正确的。在设备上,我的代码向下推视图被忽略,状态栏是透明的并覆盖视图,但这是一个不同的问题! – remondo