使用Phonegap启动图像后白屏闪烁



加载启动图像后,我在加载应用程序之前出现白屏。我正在使用带有xcode的phonegap。我希望我的应用程序加载到我的 lauch 图像上,以便它遵循 ios 开发人员指南并提供流畅的启动。我认为这个白屏是为我的应用程序加载的 Web 视图。我希望这个网络视图清晰。关于解决此问题或解决方法的任何想法?

我尝试了以下代码,但它对我的启动没有任何影响。此代码位于我的 MainViewController.m 中

-void (webViewDidFinishLoad:(UIWebView*) theWebView
{
theWebView.backgroundColor = [UIColor clearColor];
theWebView.opaque = NO;
 }

我已经对此进行了大量研究,但尚未找到解决方案。

我也

遇到了同样的问题,请尝试以下 3 个步骤来解决问题:

  1. AutoHideSplashScreen设置为在Phonegap/Cordova列表文件中NO

  2. 将此行添加到 CDVMainViewController.m 的 viewDidLoad 方法中

    self.useSplashScreen = YES;
    
  3. 然后将此代码添加到onDeviceReady()方法

    function onDeviceReady()
    {
    // do your thing!
    cordova.exec(null, null, "SplashScreen", "hide", []);  //On Cordova 1.6. 0
    }
    

您必须覆盖一个在启动后伪造"默认.png"图像的 ModalViewController,将视图控制器覆盖在 UIWebView 之上,并显示 UIActivityIndicator,以便用户知道您正在加载您的应用程序。网页完成后,您可以关闭视图控制器。

希望这有帮助。

您是否考虑过手动隐藏初始屏幕,以便您的页面在消失之前准备就绪?

window.setTimeout(function() { 
navigator.splashscreen.hide();
},1350);

并在您的 phonegap/cordova plist 文件中将 AutoHideSplashScreen 设置为 NO

我也有类似的问题。我没有在代码中修复它,而是在 UI 编辑器中修复了它。包含 uiwebview 的窗口本身在属性中也有背景色。这可以设置为您选择的颜色以消除白色闪烁。(我将我的设置为黑色。

从 Cordova/Phonegap 3+ 开始,您需要在 config.xml 中设置首选项:

<preference name="AutoHideSplashScreen" value="false" />

您还需要该插件:

cordova plugin add org.apache.cordova.splashscreen

然后

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  // depending on how many things you are rendering on your webview, you might want to add an artificial wait
  var SPLASH_SCREEN_DELAY = 500;
  setTimeout(function() {
    navigator.splashscreen.hide();
  }, SPLASH_SCREEN_DELAY);
}

我遇到了同样的问题,经过一些研究,我发现这是因为应用程序需要一些时间来加载所有必需的.css和.js文件。

为了克服这个问题,我们可以使用初始屏幕并延迟其时间,以便在加载所有必需的文件之前,最终用户不会看到乱码白屏,而是可以看到我们自定义的初始屏幕。

我通过参考"ian"给出的答案的第一部分和第二部分来解决它。这些是我遵循的步骤。

第 1 步:安装 Cordova Splashscreen 插件。

cordova plugin add org.apache.cordova.splashscreen

第 2 步:将 配置.xml 文件中的自动隐藏初始屏幕首选项设置为 false。

<preference name="AutoHideSplashScreen" value="false"/>

步骤 3:增加初始屏幕延迟时间

<preference name="SplashScreenDelay" value="6000"/>

希望这对某人有所帮助:)

最新更新