Я заметил, что [UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]
вызывается только с традиционными ссылками <a href="...">
, а не с одностраничным веб-приложением JavaScript-навигации.Как правильно слушать изменения навигации в UIWebView?
Например, если я перехожу на m.facebook.com в UIWebView
и начинаю использовать верхний навигатор (см. Снимок экрана ниже), он никогда не запускает этот метод делегирования.
Причина, по которой я хочу, чтобы метод был подключен, заключается в том, что я хочу добавить кнопки назад и вперед над UIWebView, но мне нужно знать, когда включать/отключать эти кнопки. Есть ли другой метод делегата, который я должен использовать для правильного прослушивания изменений навигации?
Обновление: Следует также отметить, что мобильный Safari корректно обновляет состояние кнопки «Назад/Вперед» на мобильном сайте Facebook, поэтому я надеюсь, что Apple предоставит возможность разработчикам также сделать это.
Вы просмотрели '[UIWebView canGoBack]'? https://developer.apple.com/reference/uikit/uiwebview/1617931-cangoback – SergGr
@SergGr, который не помогает мне, потому что мне нужен крючок, когда есть изменения в навигации, чтобы знать, когда звонить canGoBack –