2012-05-04 2 views
6

Mam aplikację jQuery Mobile, którą przekonwertowałem na aplikację na iOS przy użyciu PhoneGap. Używam wersji 1.1.0 jQM.Dlaczego strony migają/migoczą po przejściach w mojej aplikacji jQuery Mobile PhoneGap na iOS?

Używam przejść "zanikanie" między stronami (jak czytałem, były one mniej wymagające).

Kiedy początkowo korzystałem z wersji PhoneGap w iPhone Simulator, migotałem/migałem po każdej zmianie strony - tak jakby strona była wyświetlana, kasowana, a następnie wyświetlana ponownie - wszystko z ułamkiem sekundy. Coś się wydarzyło, gdy uruchomiłem to urządzenie.

Zastosowałem tę radę w odpowiedzi Sary-Jane na similar question.

Naprawiono problem w symulatorze, ale nie w rzeczywistym urządzeniu.

Czy ktoś napotkał ten problem i znalazł rozwiązanie?

Odpowiedz

13

Ten facet rozwiązał problem - pracował dla mnie:

http://outof.me/fixing-flickers-jumps-of-jquery-mobile-transitions-in-phonegap-apps/

CSS:

body { 
    /* Setting body margins to 0 to have proper positioning of #container div */ 
    margin: 0; 
} 

/* #container div with absolute position and 100% width and height so it takes up whole window */ 
#container { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
} 

JS:

$(document).one("mobileinit", function() { 

    // Setting #container div as a jqm pageContainer 
    $.mobile.pageContainer = $('#container'); 

    // Setting default page transition to slide 
    $.mobile.defaultPageTransition = 'slide'; 

}); 

i owinąć wszystkich stron jQM w krótkim pojedynczy <div id="container">

+0

To działało bezbłędnie, aby rozwiązać moje problemy z "białą stroną". –

+0

Przepraszam, ale to nie działa. Jakiej wersji aplikacji PhoneGap, jQuery i jQuery używasz iw jakim systemie iOS? –

+0

Niezależnie od wersji, które zostały wydane w momencie pisania. Przepraszam, nie pamiętam. – Jeff

1

Przejście przejścia migania oznacza, że ​​należy go zmienić na slajd lub inny tryb przejścia.

+0

Obawiam się, że nie go rozwiązać - po prostu dostać inny migotania. – dommer

+0

Miałem podobny problem w mojej aplikacji, a następnie podjąłem kroki, które naprawiły problem 1) Zmieniono wszystkie przejścia na slajd 2) sprawdziłem wszystkie wywołania funkcji, które renderują strony, może być dowolne zduplikowane połączenia (renderuję wszystkie moje strony dynamicznie) – Tanveer

+0

wielkie dzięki ... to naprawiło mój problem. utknąłem godzinami na tym samym ... – joe

-1

użycie podany kod

$(document).ready(function() 
{ 

    $.mobile.defaultPageTransition = "none" 
    $.mobile.defaultDialogTransition = 'none'; 
    $.mobile.useFastClick = true; 
    $.mobile.touchOverflowEnabled = true; 

}); 
0

To może pomóc

<meta name="viewport" content="width=device-width, user-scalable=no" />