【问题标题】:In IOS, how to know whether the UIWebView's scroller is at the top?在IOS中,如何知道UIWebView滚动条是否在顶部?
【发布时间】:2023-03-14 22:10:01
【问题描述】:

我正在制作一个具有类似操作的 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
  • 谢谢,芥末。很有帮助。

标签: ios uiwebview uiscrollview uiscrollviewdelegate uiwebviewdelegate


【解决方案1】:

不确定您到底想做什么,但如果您想将 UIWebView 作为一个整体向下移动,我会将其添加到 UIView,然后将 UIView 放入 UIScrollView。这将使其相对于您添加到 UIView 的任何其他元素保持在固定位置。尽管 UIWebView 已经包含 UIScrollView 并且必须在两者之间正确处理触摸事件,但您可能会遇到一些奇怪的行为。

如果你想知道网页视图在“内部”向下滚动了多远,你可以使用这个小技巧:

NSString *scrollTopStr = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollTop;"];    
NSLog(@"scroll top: %@", scrollTopStr);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多