【问题标题】:WKWebView isn't clickable outside it's contentInsetWKWebView 在其 contentInset 之外不可点击
【发布时间】:2015-03-01 13:23:08
【问题描述】:

我有一个带有 UIWebView 的应用程序,我需要将其更改为 WKWebView。 一切正常,除非 webView 需要使用不为 0 的 contentInset。 问题是,WKWebView 没有收到超出其滚动视图 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。

我已经尝试寻找类似的问题,但没有运气,还有其他人遇到过这个问题吗?

谢谢

【问题讨论】:

  • 我在 webKit 中发现了这个错误报告 - bugs.webkit.org/show_bug.cgi?id=134230 如果这是同一个问题,它不会被修复...
  • 有人对此有更新吗?我正在尝试实现一个带有随 Web 视图滚动的叠加层的 Web 视图。由于各种原因,我无法使用smileEvday 提供的解决方案。任何帮助,将不胜感激。谢谢
  • @DanielShteremberg 我们还没有找到解决方案。我们仍在使用 UIWebView...

标签: ios8 wkwebview


【解决方案1】:

我遇到同样的问题,在iOS 8之前,我使用UIWebView,一切正常,但是当内容区域显示在contentInset区域时,WKWebview无法响应点击事件。 我终于通过在正文开头在 HTML 字符串中添加一个空 div 来解决这个问题。

<div style='width:100%;height:500px'></div>

那么WKWebView就可以得到和set contentInset一样的效果,并正确响应用户点击!

【讨论】:

    【解决方案2】:

    在 Xcode 10 和 iOS 12 的第一个测试版中,问题似乎终于得到了解决。

    【讨论】:

    • 感谢更新!我们会检查一下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多