我有一个带有UIWebView的应用程序,我需要将其更改为WKWebView。 一切都很完美,除非webView需要的contentInset不是0。 问题是,WKWebView没有接收到其scrollView的contentInset范围之外的触摸。
我已经制作了一个简单的示例应用来测试它:
- (void)viewDidLoad {
[super viewDidLoad];
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
self.wkWebView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:config];
[self.view addSubview:self.wkWebView];
self.wkWebView.scrollView.contentInset = UIEdgeInsetsMake(200, 0, 0, 0);
NSURL *url = [NSURL URLWithString:@"http:/www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.wkWebView loadRequest:request];
}
当我滚动webView上方的顶部插图时,我无法点击该区域中的webView。
我试图寻找类似的问题,但没有运气,其他人是否遇到过这个问题?
谢谢
答案 0 :(得分:5)
我遇到同样的问题,在iOS 8之前,我使用UIWebView,一切正常,但是当内容区域显示在contentInset区域时,WKWebview无法响应点击事件。 我终于通过在HTML字符串中添加一个空div来解决这个问题,在主体的开头。
<div style='width:100%;height:500px'></div>
然后WKWebView可以获得与set contentInset相同的效果,并正确响应用户点击!
答案 1 :(得分:3)
在Xcode 10和iOS 12的第一个测试版中,问题似乎已经终于解决了。