我知道以前曾问过类似的问题,但似乎从未得到过回答.我有一个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];
我想看到的是字符串的结尾.我可以在那里滚动,没问题.但我想以编程方式去那里.
这很简单.首先,您需要获取网页的高度:
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委托的方法.
帕维尔希望这很有帮助
在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); }