飞溅之后Phonegap 3白色闪光
我知道这已经被问了(和回答)几次( Phonegap显示白屏后的启animation面 – IOS , Phonegap 2.0 – 在应用程序启动一个白色的屏幕闪烁之前,我的应用程序加载 , 如何杀死白色闪烁splashscreen在手机iOS应用程序的开始? ),但这些解决scheme似乎没有为我工作。 也许是因为我使用Phonegap版本3?
我只加载Phonegap和jQuery 2.0.0(其他解决scheme处理jQuery的手机,我不使用),我只针对iOS部署。 我已经加载了一个启动图片,然后应用程序显示一个白色的屏幕(持续时间不同 – 我猜它是加载应用程序也许?)然后我的index.html加载我的第一个屏幕。 这是我目前的头:
<head> <meta charset="utf-8" /> <meta name="format-detection" content="telephone=no" /> <meta name="viewport" content="user-scalable=no, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> <link type="text/css" rel="stylesheet" href="css/main.css" /> <title>My App</title> <script type="text/javascript" src="phonegap.js"></script> <script src="js/lib/jquery-2.0.0.min.js"></script> <script src="js/main.js"></script> </head>
我试着把它添加到我的config.xml文件(与index.html在相同的文件夹级别):
<preference name="backgroundColor" value="0x000000" />
但我仍然得到白屏闪光。 我也尝试手动隐藏/显示飞溅:
function onDeviceReady() { navigator.splashscreen.show(); }
但是这似乎没有任何影响。 有人有什么build议?
我终于能够消除飞溅的闪光,但我不得不使用cordova来做到这一点。 以下是我采取的步骤:
在docker:
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
使用Finder导航到~/path/to/project/platforms/ios/
,然后双击projectname.xcodeproj
在Xcode中打开项目。
接下来,我进入编辑图像。 你可以做任何方法。 以下是我所做的:在Xcode中,导航到Resources/splash/
,右键单击要更改的图像,selectShow in Finder
并使用任何要更改图像的工具。
一旦完成,回到Xcode并打开根级别的config.xml
(仍然不知道为什么有两个config.xml
文件,但你想要一个最远的文件夹结构)。 将AutoHideSplashScreen
属性更新为
<preference name="AutoHideSplashScreen" value="false" />
。
从Xcode主菜单中,selectProduct > Clean
,然后selectProduct > Build
。
一再为我工作。 然后,我可以使用我的应用程序中的navigator.splashscreen.show()
和navigator.splashscreen.hide()
方法(在没有经过所有这些步骤的情况下似乎没有响应)。
希望这可以帮助!
我有一个问题,插件或phonegap的一些问题,所以
function onDeviceReady() { navigator.splashscreen.show(); }
不适合我
我通过将webview alpha设置为0来修复它,直到它被加载:
3个步骤:
- 在方法“
-(void)createGapView
”中的"CDVViewController.m"
文件中我添加了:
self.webView.alpha = 0; - 在
"MainViewController.m"
文件中的方法“-(void)WebViewDidFinishLoad:(UIWebView*)theWebView"
我加:theVebView.alpha=1;
- 在
"MainController.xib"
文件中,我将背景更改为黑色(将其设置为任何您喜欢的颜色)。
现在,而不是一个白色的屏幕闪光我有一个黑色的,直到内容是满载。 对我来说足够了。 (虽然不完美)
希望这可以帮助..
尝试添加
在config.xml中的SplashScreenfunction<param name="onload" value="true" />
。
这对我使用build.phonegap.com
第1步:将Slashscreen插件添加到您的config.xml
<gap:plugin name="org.apache.cordova.splashscreen" version="0.2.7" />
第2步:用这个首选项更新你的config.xml。
<preference name="auto-hide-splash-screen" value="false" />
第3步:将插件函数调用添加到您的“deviceready”事件
<script> document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.splashscreen.hide() } </script>
用splash插件生气后,我发现这个解决scheme:
- 在MainViewController.xib中,添加一个UIImageView(imgView)。
- 把你的飞溅图像放在里面,设置比例来填充。
- 在MainViewController.m中,覆盖 – (void)webViewDidFinishLoad:(UIWebView *)theWebView
-
在[super webViewDidFinishLoad:theWebView]之后添加这些代码;
[self.view sendSubviewToBack:imgView];
imgView.hidden = YES;