2009-07-27 7 views
1

Ich brauche eine Website mit ziemlich viel Inhalt in meiner App über UIWebView.UIWebView rollt ruckelnd

Wenn ich die Seite in Mobile Safari blättern, scrollt alles reibungslos. Selbst wenn ich schnell scrolle - der grau-quadratische Hintergrund erscheint, wird aber nach einigen Augenblicken (weniger als 0,5 Sekunden) richtig wiedergegeben.

Die gleiche Seite in UIWebView scrollt ruckartig, wenn schnell gescrollt wird und nicht den grau-quadratischen Hintergrund zeigt. Ich denke, Mobile Safari zeigt zuerst den grauen Quadrathintergrund an und rendert danach, während UIWebview das Scrollen stoppt, bis der Teil, der angezeigt wird, gerendert wird.

Wie kann ich sagen UIWebView, sich wie Mobile Safari zu verhalten?

Antwort

3

Es wird bereits auf seiner eigenen benutzerdefinierten tiledLayer gezeichnet. Das Problem ist, dass es standardmäßig versucht, sich selbst auf den Haupt-Thread zu zeichnen, so dass es blockiert, wenn ich nicht gezeichnet werden kann. Es gibt eine private Nachricht, die Sie

-(void)_setDrawInWebThread:(BOOL)arg1

nennen kann arbeiten ABER Sie leeren Raum sehen, wenn Sie zu schnell bewegen und es kann nicht mit der Zeichnung halten, bis es Zeit, um aufzuholen hat . Sie verwenden:

-(void)_setDrawsCheckededPattern:(BOOL)arg1

in mobiler Safari mit diesem zu helfen.

+0

Funktioniert gut - aber werden Sie abgelehnt? –

+0

Apple wird Ihre App ablehnen, wenn ich Benutzer über Lösung. –