使用StatusBar插件适用于模拟器,而不是设备

时间:2015-07-07 02:24:18

标签: ios cordova phonegap-plugins phonegap-build ios7-statusbar

此时我正处于我的智慧结束,试图超越IOS7问题,状态栏与我的应用程序顶部重叠。我采取的步骤是:

  • phonegap plugins add org.apache.cordova.statusbar
  • 将以下内容添加到主config.xml中: <gap:plugin name="org.apache.cordova.statusbar"/> <preference name="fullscreen" value="true" /> <preference name="StatusBarOverlaysWebView" value="false" /> <preference name="StatusBarStyle" value="default" /> <feature name="StatusBar"> <param name="ios-package" value="CDVStatusBar" onload="true" /> </feature>
  • 从阅读各种SO帖子,我已经多次尝试添加/删除插件和ios平台。

该插件现在可以成功调整模拟器上的状态栏行为(运行cordova run ios)但是当我使用Phonegap Build在设备上实际运行它时,状态栏仍然会覆盖我的应用程序webview。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以打开MainViewController.c(我认为这是在Cordova中调用的内容),找到viewDidLoad:方法并插入如下代码:

if (IS_IOS7_OR_LATER) {
    CGRect *frame = self.webview.frame;
    frame = CGRectMake(0, 20, frame.size.width, frame.size.height);
    self.webview.frame = frame;
}

其中IS_IOS7_OR_LATER是一个宏或一些其他代码,用于检查我们是否在iOS 7或更高版本上运行。