我正试图在我的iOS Phonegap应用中加载本地页面之间消除白色闪烁。 我已经尝试了所有东西,但我仍然可以在页面加载之间看到白色。
我尝试将我的html背景设为黑色,使用data-transition = none并使webView backgroundcolor清晰。
我把::
NSLog(@"BEGIN EDIT - set webView to transparent");
[self.webView setBackgroundColor:[UIColor clearColor]];
[self.webView setOpaque: NO];
NSLog(@"END EDIT - set webView to transparent");
在CDVInAppBrowser.m中,在CDVViewController.m和AppDelegate.m中,但似乎没有任何效果!也许我将代码置于错误的位置。
请有人帮我摆脱页面加载之间的白色!
答案 0 :(得分:0)
PhoneGap加载速度可能很慢。您可能需要使用启动画面API来显示和隐藏启动画面? http://docs.phonegap.com/en/2.8.0/cordova_splashscreen_splashscreen.md.html#Splashscreen
在上面的页面上,还要注意iOS Quirk部分。或者,您是否尝试使用jQuery Mobile或AngularJS进行单页应用程序?
答案 1 :(得分:0)
当我使用Phonegap制作移动应用程序时遇到了同样的问题。 我不知道如何避免这些闪现,但是当你构建一个只有几个屏幕的简单应用程序时,你可以将所有HTML文档实现为一个文件,如:
<html>
<body>
<div class="page" id="page-1">
Content of page one
</div>
<div class="page" id="page-2" style="display:none;">
Content of page two
</div>
<div class="page" id="page-3" style="display:none;">
Content of page three
</div>
</body>
</html>
现在,您可以通过使用户可见/不可见来切换每个容器的内容。
此解决方案背后的理念是,所有应用的内容都会加载一次(开头),使用jQuery,您将在内容之间切换,而不使用这些白色当webbrowser必须呈现用户已被重定向到的新页面时闪烁。
只有当您的应用不包含太多内容时,这才是一个很好的解决方案。
答案 2 :(得分:0)
在CDVViewController.m
中- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
// Black base color for background matches the native apps
theWebView.opaque = NO;
theWebView.backgroundColor = [UIColor blackColor];
//the rest of the code…
希望它对其他人有用。