我试图在我的WkWebView.scrollView的contentView的底部放置一个视图,但似乎视图总是以原点Y为5000或8000结束,这是WkWebView内部绑定的随机值。
我试着设置框架,但结果是一样的。
我想知道你是否真的可以在webView的contentView结束后放置一个视图,同时仍然使滚动工作?
self.webView.frame = self.view.bounds;
[self.webView.scrollView addSubview:self.myView];
self.myView.translateAutoresizingMaskIntoConstraints = false;
[self.myView.topAnchor constraintEqualToAnchor:self.webView.scrollView.subViews.lastObject.bottomAnchor].active = true;
[self.myView.bottomAnchor constraintEqualToAnchor:self.webView.scrollView.bottomAnchor].active = true;
[self.myView.widthAnchor constraintEqualToAnchor:self.view.widthAnchor].active = true;
1条答案
按热度按时间rur96b6h1#
WKWebView
不像保存处理过的html的滚动视图那么简单。如果你使用Debug View Hierarchy
,你会看到它有多复杂。我建议:
scrollViewDidScroll
并更新.constant
以定位bottomView您需要保持bottomView隐藏直到页面加载,在web视图上设置
clipsToBounds
,以便bottomView在框架外不可见,并设置web视图的.scrollView.contentInset
,以便留出额外的空间来显示bottomView。下面是一个简单的例子,使用这个页面作为web视图的url:
ViewController.h
ViewController.m
这将是一个相当高的页面,但一旦你滚动到底部,你会看到绿色标签:
注意:我相信你知道,网页可以是非常动态的,做一些事情,如添加更多的内容,你滚动。因此,这可能是合适的,也可能不是合适的,或者可能需要一些额外的逻辑来处理动态内容。