В моем приложении iOS 7+ есть модуль UIWebView. Страница html загружает javascript, который создает кнопки произвольной формы (с использованием библиотеки Raphaeljs). С UIWebView я устанавливаю делегата на себя. Метод делегата webView: shouldStartLoadWithRequest: navigationType:
вызывается каждый раз, когда нажимается одна из моих настраиваемых кнопок. Запросы должны обрабатываться не html, а кодом iOS. Поэтому я использовал соглашение о запросах (читайте здесь, в stackoverflow), используя «inapp» в качестве схемы моих запросов. Затем я проверяю хост и предпринимаю соответствующие действия.
Этот код отлично работает на iOS 7. Но веб-представления выглядят пустыми на iOS 8 (ошибка?), Поэтому я решил использовать WKWebView для устройств iOS 8. Веб-представления теперь отображаются нормально (и на удивление быстрее!), Но мои кнопки не действуют.
Я пробовал использовать - (WKNaviation *)loadRequest:(NSURLRequest *)request
, но он не называется.
Я не могу найти прямой эквивалент метода делегата UIWebView webView: shouldStartLoadWithRequest: navigationType:
. Как лучше всего обрабатывать эти запросы с помощью WKWebView?