webView:shouldPreviewElement: WKUIDelegate не вызывается
Я реализовал контроллер представления, который отображает WKWebView
, В веб-представлении отображаются определенные страницы, содержащие ссылки с a
теги, например:
<a id="dien10000513721" href="/ge/tr/issue.html" class="dien">Issue</a>
Я хотел бы добавить предварительный просмотр к этим ссылкам, активировав 3d-Touch в веб-представлении, но метод делегата webView:shouldPreviewElement:
никогда не вызывается, когда я запускаю свое приложение на iPhone 7 с iOS 11 и делаю принудительное прикосновение к этой ссылке.
Когда я создал свой веб-вид и установил необходимые свойства с
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 сенсорных событий?