加载启动图像后,我在加载应用程序之前出现白屏。我正在使用带有xcode的phonegap。我希望我的应用程序加载到我的 lauch 图像上,以便它遵循 ios 开发人员指南并提供流畅的启动。我认为这个白屏是为我的应用程序加载的 Web 视图。我希望这个网络视图清晰。关于解决此问题或解决方法的任何想法?
我尝试了以下代码,但它对我的启动没有任何影响。此代码位于我的 MainViewController.m 中
-void (webViewDidFinishLoad:(UIWebView*) theWebView
{
theWebView.backgroundColor = [UIColor clearColor];
theWebView.opaque = NO;
}
我已经对此进行了大量研究,但尚未找到解决方案。
遇到了同样的问题,请尝试以下 3 个步骤来解决问题:
将
AutoHideSplashScreen
设置为在Phonegap/Cordova列表文件中NO
将此行添加到 CDVMainViewController.m 的 viewDidLoad 方法中
self.useSplashScreen = YES;
然后将此代码添加到
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"/>
希望这对某人有所帮助:)