我有一个用于测试目的的网页(https://storage.googleapis.com/htmltestingbucket/nested_scroll_helper.html),只打印html在固定标题中捕获的滚动事件的计数器
当WKWebView是片段中唯一可滚动的元素时,一切都很好,WebView将滚动事件发送到页面
如果我想在WebView的上方和下方添加原生元素,那么事情会变得复杂得多。
UIScrollView
UILabel
WKWebView
UILabel
我知道在ScrollView中使用WebView并不好,但我必须在html文档中提供混合内容和正确滚动事件的单一滚动体验。我发现了很多关于此问题的问题,但我无法创建完整的端到端解决方案。
答案 0 :(得分:5)
<强>更新强> 好的,我花了一些时间才明白你要做什么。
我知道你想保留外部scrollView,但我很确定它不可能实现你想要做的事情(只有这样才能设置outerScrollView.delegate = webView
- 但是不起作用对我来说,当我尝试时)
我认为最好的解决方案是:
webView.contentInset = UIEdgeInsetsMake(100,0,100,0);
之前(其他方式):
webView.scrollView.scrollEnabled = NO;
或故事板viewDidLoad
webView.scrollView.contentSize.height
s content height via
self.webViewContentHeightConstraint.constant = webView.scrollView.contentSize.height
答案 1 :(得分:0)
你在scrollview中基本上有一个scrollview。你觉得那会怎么样?我会将标签添加到WebView中的HTML中。看不出他们为什么需要原生的原因。
或者,您可以尝试将标签添加到UIWebView的UIScrollView中。这是它的第一个子视图。不确定是否需要调整scrollview insets。注入html可能会更可靠。