2

我已经实现了一个视图控制器,它显示一个WKWebView. Web 视图显示包含带有a标签的链接的某些页面,例如:

<a id="dien10000513721" href="/ge/tr/issue.html" class="dien">Issue</a>

我想通过在 Web 视图中激活 3d-Touch 来为这些链接添加预览,但是webView:shouldPreviewElement:当我在带有 iOS 11 的 iPhone 7 上运行我的应用程序并对该链接进行强制触摸时,从未调用过委托方法。

当我创建了我的 web 视图并设置了必要的属性时

theWebView.navigationDelegate = self;
theWebView.UIDelegate = self;
theWebView.allowsLinkPreview = YES; // Setting this to NO doesn't help
self.webView = theWebView;

用于预览的三个委托方法被实现为假人:

- (BOOL)webView:(WKWebView *)inWebView shouldPreviewElement:(WKPreviewElementInfo *)inElementInfo {
    NSLog(@"url = %@", inElementInfo.linkURL);
    return NO;
}

- (UIViewController *)webView:(WKWebView *)inWebView previewingViewControllerForElement:(WKPreviewElementInfo *)inElementInfo defaultActions:(NSArray<id<WKPreviewActionItem>> *)inPreviewActions {
    return nil;
}

- (void)webView:(WKWebView *)webView commitPreviewingViewController:(UIViewController *)previewingViewController {
    NSLog(@"");
}

我还需要执行任何重要的配置步骤吗?还有什么可以阻止 3D 触摸事件的执行?

4

0 回答 0