2013-06-24 2 views
3

Я пытаюсь устранить белую вспышку между загрузкой локальных страниц в приложении iOS Phonegap. Я пробовал все, но я все еще вижу белый между загрузками страниц.Устранить белый между страницами загрузить Phonegap iOS

Я попытался сделать свой 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

Загрузка PhoneGap может быть довольно медленной. Возможно, вам понадобится использовать API-интерфейс заставки, чтобы показывать и скрывать всплеск? http://docs.phonegap.com/en/2.8.0/cordova_splashscreen_splashscreen.md.html#Splashscreen

На приведенной выше странице также обратите внимание на раздел iOS Quirk. Кроме того, попробуйте приложение с одной страницей с помощью jQuery Mobile или AngularJS?

+0

Спасибо за ответ, я использую экран-заставку, и это не решение, так как белая вспышка находится на странице BETWEEN. Кроме того, невозможно сделать одностраничное приложение из-за величины моего приложения. Должен быть способ устранения белого между загрузкой страницы! Я бы не прочь, если это черное вместо этого, это не займет много времени. – originalp

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 вы будете переключаться между содержанием без этих белых вспышек, когда веб-браузер должен оказать новый страница, на которую был перенаправлен пользователь.

Это хорошее решение, только если ваше приложение не содержит слишком много содержимого.

0

Как я уже сказал, создание приложения в этом случае было невозможным из-за его сложности, и я не возражаю, если белые вспышки между загрузками страниц являются черными, так как они не занимают много времени. Вот файлик с помощью PhoneGap 2.8 для прошивки:

В 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… 

Надеется, что это полезно для кого-то других.