iOS WKWebView Peek and Pop на изображении
В последнее время я пытался заставить Peek And Pop работать с моим WKWebView. Вариант использования, для которого я его использую - это раздел комментариев RichText в моем приложении. Но поскольку в WebView уже сделано много настроек, я настроил минимальный воспроизводимый пример.
До сих пор я узнал следующее:
- Свойство allowLinkPreview объекта WKWebView должно иметь значение true, которому оно соответствует по умолчанию.
- Вы должны реализовать пользовательский WKUIDelegate, в котором:
webView(_ webView: WKWebView, shouldPreviewElement...
должен вернуть true, если вы хотите показать Peek and Pop.webView(_ webView: WKWebView, previewingViewControllerForElement...
должен вернуть контроллер представления для отображения для pop и peek.webView(_ webView: WKWebView, commitPreviewingViewController...
как только просмотр и окончание завершены, вы должны перенести представление в контроллер навигации или представить его здесь модально.
Эффект, которого я пытаюсь достичь, отображается здесь.
Проблема: в настоящее время происходит ошибка, что я возвращаю true из shouldPreviewElement, но тогда второй метод previewViewControllerForElement никогда не вызывается, как ожидалось. Я также посмотрел на другие реализации Pop и Peek (за пределами WKWebView, и они работают аналогично и не имеют этой проблемы).