iOS WKWebView Peek and Pop на изображении

В последнее время я пытался заставить Peek And Pop работать с моим WKWebView. Вариант использования, для которого я его использую - это раздел комментариев RichText в моем приложении. Но поскольку в WebView уже сделано много настроек, я настроил минимальный воспроизводимый пример.

До сих пор я узнал следующее:

  1. Свойство allowLinkPreview объекта WKWebView должно иметь значение true, которому оно соответствует по умолчанию.
  2. Вы должны реализовать пользовательский 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, и они работают аналогично и не имеют этой проблемы).

0 ответов

Другие вопросы по тегам