自动滚动页面底部uiwebview

时间:2010-12-06 11:09:44

标签: ios objective-c uiwebview

我希望一旦webview加载

- (void)webViewDidFinishLoad:(UIWebView *)webBrowser {
    //Scroll to bottom
}

只关注底部所以基本上只是显示在uiwebview的底部并且可能将其锁定在那里以便用户无法滚动。

2 个答案:

答案 0 :(得分:2)

首先,您必须获得内容高度,我从未亲自完成此操作,但here是一个很好的起点:

  

以下是一些可用的常量   给出窗口的文档区域   可以写入。   这些将在以后才可用   文件加载后和   用于引用它们的方法是   浏览器特定。可用   常数是:

     

window.innerHeight / Width提供者   大多数浏览器,但重要的是,不是   IE浏览器。   document.body.clientHeight /宽   由许多浏览器提供,包括   IE浏览器。   document.documentElement中。   clientHeight / Width由大多数人提供   DOM浏览器,包括Internet   资源管理器。

然后滚动到你想要的偏移量就像这样:

[webView stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat:@"scrollTo(0,%d)",scrollPosition]; 

答案 1 :(得分:0)

Web视图中的

内部操作由JavaScript控制,因此您可以在Scroll Automatically to the Bottom of the Page找到各种解决方案。

基于Tho答案(let temp = [{ name: "Request A", data: "1" }, { name: "Request B", data: "12" }, { name: "Request C", data: "6" } ] let newTemp = temp.map((item) => { return { name: item.name, data: [parseInt(item.data, 10)] } }); console.log(newTemp))的示例:

使用UIWebView(已弃用)

var scrollingElement = (document.scrollingElement || document.body); scrollingElement.scrollTop = scrollingElement.scrollHeight;

使用WKWebView(iOS 8 +)

DispatchQueue.global().async {
    _ = webView.stringByEvaluatingJavaScript(from: "var scrollingElement = (document.scrollingElement || document.body); scrollingElement.scrollTop = scrollingElement.scrollHeight;")
}