在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滚动条是不是在顶部?的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖 UIWebView 中的滑动手势?

以编程方式在iOS上滚动UIWebView

无法在 iOS 的 UIWebView 中滚动

iOS 邮件消息视图,如 UIWebView

如何知道 QPlainTextEdit 继承类中是不是显示水平滚动条?

如何在phonegap中隐藏ios滚动条