Если веб-просмотр поддерживает это, вы можете иметь javascript, чтобы определить, что там, и сообщить об этом веб-представлению.Я извиняюсь, но я не запустил этот код, у меня нет средств для его проверки в данный момент.
Если у вас нет возможности добавить JavaScript на страницу, тогда у вас будетчтобы сделать все это в WKWebView .evaluateJavaScript
, найдите значение элемента с помощью:
var elem = document.elementFromPoint(550, 275);
Затем расскажите об этом своему веб-представлению, создав запрос пользовательской схемы.Вы можете сделать это следующим образом:
var iframe = document.createElement("IFRAME");
iframe.setAttribute("src", "customScheme://" + JSON.stringify(elem);
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
Перехватить его в делегате веб-просмотра.
public func webView(_ webView: WKWebView,
decidePolicyFor navigationAction: WKNavigationAction,
decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
let url = navigationAction.request.url
if(url.range(of:"customScheme://") != nil){
// this is your reported info
}
return true
}
Этот подход покажет вам только элемент, связанный с координатами веб-браузера, а неэто позиция на экране устройства.Если вы хотите сделать это с помощью позиции устройства, вам придется перевести это и передать координаты веб-представлению, вызвав некоторый javascript на устройстве.