我尝试了以下代码,但对我的启动没有任何影响。 此代码位于我的MainViewController.m中。
-void (webViewDidFinishLoad:(UIWebView*) theWebView
{
theWebView.backgroundColor = [UIColor clearColor];
theWebView.opaque = NO;
}
我已经做了很多研究,但是我没有找到解决方案。
-void (webViewDidFinishLoad:(UIWebView*) theWebView
{
theWebView.backgroundColor = [UIColor clearColor];
theWebView.opaque = NO;
}
我已经做了很多研究,但是我没有找到解决方案。
我也曾经遇到过同样的问题,尝试以下三个步骤来解决:
set AutoHideSplashScreen
to NO
in your phonegap/cordova plist file
Add this line to your viewDidLoad method of CDVMainViewController.m
self.useSplashScreen = YES;
Then add this code to onDeviceReady()
method
function onDeviceReady()
{
// do your thing!
cordova.exec(null, null, "SplashScreen", "hide", []); //On Cordova 1.6. 0
}
在启动后,您需要叠加一个模态视图控制器来模拟“Default.png”图像,在UIWebView上方叠加视图控制器,并显示UIActivityIndicator,以便用户知道您正在加载应用程序。一旦网页完成,您可以关闭您的视图控制器。
希望这可以帮助到您。
你是否考虑过手动隐藏启动画面,以便在它消失之前使页面准备就绪?
window.setTimeout(function() {
navigator.splashscreen.hide();
},1350);
在你的phonegap/cordova plist文件中将 AutoHideSplashScreen
设置为NO
我曾经遇到同样的问题,经过一番研究后发现这是因为应用程序需要一些时间来加载所有必需的.css和.js文件所致。
为了解决这个问题,我们可以使用启动画面,并延迟其时间,这样在加载所有必需的文件之前,最终用户不会看到一片混乱的白屏,而是会看到我们定制的启动画面。
我通过参考“ian”给出的答案的第一部分和第二部分来解决这个问题。以下是我遵循的步骤。
步骤1:安装Cordova启动画面插件。
cordova plugin add org.apache.cordova.splashscreen
步骤2:将config.xml文件中的自动隐藏启动画面首选项设置为false。
<preference name="AutoHideSplashScreen" value="false"/>
步骤三:增加启动画面延迟时间
<preference name="SplashScreenDelay" value="6000"/>
希望这能帮到某人 :)
<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);
}
我曾经遇到过类似的问题。但我并没有在代码中解决它,而是在UI编辑器中进行了修复。包含uiwebview的窗口本身也有一个背景颜色属性。您可以将其设置为所需的颜色以消除白色闪烁。(我将我的设置为黑色。)