当前位置:  开发笔记 > 编程语言 > 正文

如何在UIWebView中以编程方式滚动到底部?

如何解决《如何在UIWebView中以编程方式滚动到底部?》经验,为你挑选了2个好方法。

我知道以前曾问过类似的问题,但似乎从未得到过回答.我有一个UIWebView并按字符串添加一些内容.我使用UIWebView,因为我动态地添加了一些图像,并使用其他HTML功能.此示例代码已简化.

NSString *myHtmlString = @"SOME LONG TEST STRING 1234567890 123456789 0123456789 0123456789 0123456789 01234567890 WWWWWWWWWW WWWWWWWWWW WWWYYYYYYY YYYYYYYYYY YYYYYYYYYY YYYYYYYYYY YYYYYYYYYY YYYYYYYYY YYYYYYYWWW WWWWWWWWWW WWWWWWWWWW WWWXXXXXXX XXXXXXXXXX XXXZZZZZZZ THIS IS THE END I WANT TO SEE";
NSString *myPath = [[NSBundle mainBundle] bundlePath];
NSURL *myBaseURL = [NSURL fileURLWithPath:myPath];
[myWebView loadHTMLString:myHtmlString baseURL:myBaseURL];

我想看到的是字符串的结尾.我可以在那里滚动,没问题.但我想以编程方式去那里.



1> Pawel..:

这很简单.首先,您需要获取网页的高度:

NSInteger height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];

现在,您将文档的高度存储在height变量中.要滚动到底部,您必须再次使用javascript:

NSString* javascript = [NSString stringWithFormat:@"window.scrollBy(0, %d);", height];   
[webView stringByEvaluatingJavaScriptFromString:javascript];

当然,你需要在适当的时候给他们打电话.那是

– webViewDidFinishLoad:(UIWebView *)webView

您的webview委托的方法.

帕维尔希望这很有帮助


如何让它动画?

2> demosten..:

在iOS 5+中,你可以从你的手机中调用以下方法 -(void)webViewDidFinishLoad:(UIWebView *)webView

- (void)webViewScrollToBottom:(UIWebView *)webView
{
    CGFloat scrollHeight = webView.scrollView.contentSize.height - webView.bounds.size.height;
    if (0.0f > scrollHeight)
        scrollHeight = 0.0f;
    webView.scrollView.contentOffset = CGPointMake(0.0f, scrollHeight);
}

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有