2009-07-27 7 views
1

Je dois utiliser un site Web avec un peu de contenu dans mon App via UIWebView. Lorsque je fais défiler la page dans Mobile Safari, tout défile en douceur. Même si je défile rapidement - l'arrière-plan gris carré apparaît mais est rendu correctement après quelques instants (moins de 0,5 seconde).UIWebView défile par saccades

La même page en UIWebView défile par à-coups si elle défile rapidement et n'affiche pas le fond gris. Je suppose que Mobile Safari affiche d'abord le fond quadrillé en gris et restitue après cela tandis que UIWebview arrête le défilement jusqu'à ce que la partie qui sera affichée soit rendue. Comment dire UIWebView comment se comporter comme Mobile Safari?

Répondre

3

Il est déjà dessiné sur son propre calque personnalisé. Le problème est que c'est par défaut en essayant de se dessiner sur le thread principal donc il se bloque quand je ne peux pas être dessiné. Il y a un message privé, vous pouvez appeler

-(void)_setDrawInWebThread:(BOOL)arg1

qui fonctionnera MAIS vous verrez l'espace vide lorsque vous faites défiler trop vite et il ne peut pas suivre le dessin jusqu'à ce qu'il ait le temps de rattraper son retard . Ils utilisent:

-(void)_setDrawsCheckededPattern:(BOOL)arg1

en safari mobile pour aider.

+0

Fonctionne bien - mais vous obtiendrez-vous rejeté? –

+0

Apple rejettera votre application si je l'utilisateur au-dessus de la solution. –