2009-12-17 6 views
3

J'utilise IUWebView comme fenêtre de discussion et après avoir ajouté un nouveau message dans le bas de l'affichage Je veux faire défiler la vue programmicaly, comment puis-je le faire?UIWebView défiler vers le bas

+0

peut-être essayer d'ajouter un script à la fin du html et faites défiler la fenêtre avec javascript, mais comment? .. – vinnitu

+1

vinnitu

Répondre

2

Avez-vous essayé quelque chose comme ceci:

[mywebview stringByEvaluatingJavaScriptFromString:@"window.scrollTo(x, y);"] 
+0

pas , mais peut-être cela fonctionnera aussi PS: merci pour la réponse – vinnitu

3

Mettre en oeuvre cette méthode dans votre délégué UIWebView.

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [webView stringByEvaluatingJavaScriptFromString:@"window.scrollTo(document.body.scrollWidth, document.body.scrollHeight);"]; 
} 
1

Vous savez qu'il ya une vue de défilement UIWebView comme sous-vue, de sorte que vous pouvez obtenir celui-ci, et l'utiliser pour faire le travail de défilement -

NSArray *views = [NSArray arrayWithArray:[self.webview subviews]]; 
self.scrollview = (UIScrollView *)[views objectAtIndex:0]; 

Vous pouvez définir son délégué self.scrollview.delegate = self, ou vous pouvez utiliser tout ce que l'UIScrollView peut faire, donc google "UIScrollView class reference" pour voir ce que vous pouvez faire pour votre question. J'espère que cela aide.

+1

Cette approche n'est pas sûre sous iOS 4 ou plus tôt. Cependant, ici à l'avenir, iOS 5 a ajouté une propriété 'scrollView' à' UIWebView' qui peut autrement être utilisée dans l'esprit de cette question. – Tommy

Questions connexes