I know this has been asked (and answered) several times (Phonegap showing white screen after the splash screen - IOS, Phonegap 2.0 - on app launch a white screen flashes pri
I have a problem with the plugins or some problem with phonegap so
function onDeviceReady() {
navigator.splashscreen.show();
}
doesn't work for me.
I fixed it by setting the webview alpha to 0 until it's loaded:
3 steps:
"CDVViewController.m" in method "-(void)createGapView" I added:"MainViewController.m" in method "-(void)WebViewDidFinishLoad:(UIWebView*)theWebView" I added: theVebView.alpha=1;"MainController.xib" I changed the background to black (set it to any color you prefer).Now instead of a white screen flash I have a black one until the content is fully loaded. good enough for me. (although not perfect)
hope this helps..
This worked for me using build.phonegap.com
Step 1: Added the Slashscreen plugin to your config.xml
<gap:plugin name="org.apache.cordova.splashscreen" version="0.2.7" />
Step 2: Update your config.xml with this preference.
<preference name="auto-hide-splash-screen" value="false" />
Step 3: Added the plugin function call to your 'deviceready' event
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.splashscreen.hide()
}
</script>
After getting mad with the splash plugin, I find out this solution:
add these code after [super webViewDidFinishLoad:theWebView];
[self.view sendSubviewToBack:imgView];
imgView.hidden = YES;
try Add
<param name="onload" value="true" /> to your SplashScreen feature in config.xml.
I was finally able to eliminate the splash flash, but I had to use Cordova to do it. Here are the steps I took:
In Terminal:
cordova create ~/path/to/project “com.appname.app” “appName”
cd ~/path/to/project
cordova platform add ios
cordova build
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
cordova build
Use Finder to navigate to ~/path/to/project/platforms/ios/ and double-click projectname.xcodeproj to open the project in Xcode.
Next, I went in and edited the images. You could do it any number of ways. Here's what I did: In Xcode, navigate to Resources/splash/, right-click the image to change, select Show in Finder and use whatever tools you want to change the images.
Once finished, head back to Xcode and open the root-level config.xml (Still not sure why there are two config.xml files, but you want the one furthest out in the folder structure). Update the AutoHideSplashScreen property to
<preference name="AutoHideSplashScreen" value="false" />.
From the Xcode main menu, select Product > Clean and then Product > Build.
Worked for me repeatedly. I was able to then use the navigator.splashscreen.show() and navigator.splashscreen.hide() methods from my app (which didn't seem to be responding without going through all these steps).
Hope this helps!