Отключить 3D Touch для приложения iOS - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть приложение, которое представляет webViews.

В этом WebViews представлены ссылки, которые я хочу обработать самостоятельно.

Все отлично работает, используя методы делегата, но у меня проблема, когда пользователь использует принудительное касание. В этом случае iOS выполняет переход к ссылке через сафари, не слушая моего делегата.

У меня вопрос: как я могу удалить принудительное касание из моего приложения?

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 апреля 2018

Согласно этому сообщению WebKit , allowsLinkPreview равно false по умолчанию на iOS 9 и включено по умолчанию на iOS 10 +

WebKit поддерживает Peek и Pop как простой способ предварительного просмотра ссылок. Программы встроенный в iOS 10 SDK будет иметь предварительный просмотр ссылок Peek и Pop по умолчанию включен, но функция не нова; начиная с iOS 9, WKWebView клиенты могут выбрать предварительный просмотр ссылок на основе Peek в 3D Touch-совместимых устройства, использующие свойство allowLinkPreview в WKWebView. Когда для свойства allowLinkPreview установлено значение true, пользователи могут осторожно нажимать ссылки, чтобы посмотреть их, который загружает ссылку в другом представлении поверх приложения и размывает приложение в фоновом режиме.

попробуйте установить его на false

0 голосов
/ 01 мая 2018

Способ удалить 3D Touch из вашего веб-вида -

yourWebView.allowsLinkPreview = false
0 голосов
/ 26 апреля 2018

Я считаю, что это то, что вы ищете:

func webView(_ webView: WKWebView, shouldPreviewElement elementInfo: WKPreviewElementInfo) -> Bool {
    return false
}

это метод делегата в WKUIDelegate, который был добавлен в iOS10. Это отключит предварительный просмотр с принудительным касанием.

...