在IOS中,如何知道UIWebView滚动条是不是在顶部?
Posted
技术标签:
【中文标题】在IOS中,如何知道UIWebView滚动条是不是在顶部?【英文标题】:In IOS, how to know whether the UIWebView's scroller is at the top?在IOS中,如何知道UIWebView滚动条是否在顶部? 【发布时间】:2012-01-18 20:38:59 【问题描述】:我正在制作一个具有类似操作的 ios 应用程序。
http://www.flickr.com/photos/71607441@N07/6721920809/ 是全屏网页视图。当滚动条位于顶部时,如果我触摸 webview,它会下降并覆盖一半的屏幕。 (如果滚动条不在顶部,则该操作不会执行)
http://www.flickr.com/photos/71607441@N07/6721847313/ 像这样。
我很困惑如何知道滚动条的位置。
UIWebView 的属性很少,我想我需要将 UIWebView 嵌入到 UIScrollView 中,还是必须使用 javascript?
【问题讨论】:
我不确定我是否正确阅读了您的问题,但实际上 UIWebView 基本上是一个 UIScrollView。因此以下工作:webViewObject.scrollView.contentOffset
谢谢,芥末。很有帮助。
【参考方案1】:
不确定您到底想做什么,但如果您想将 UIWebView 作为一个整体向下移动,我会将其添加到 UIView,然后将 UIView 放入 UIScrollView。这将使其相对于您添加到 UIView 的任何其他元素保持在固定位置。尽管 UIWebView 已经包含 UIScrollView 并且必须在两者之间正确处理触摸事件,但您可能会遇到一些奇怪的行为。
如果你想知道网页视图在“内部”向下滚动了多远,你可以使用这个小技巧:
NSString *scrollTopStr = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollTop;"];
NSLog(@"scroll top: %@", scrollTopStr);
【讨论】:
以上是关于在IOS中,如何知道UIWebView滚动条是不是在顶部?的主要内容,如果未能解决你的问题,请参考以下文章