У меня есть приложение, в котором пользователи могут перемещаться по кучке локально сохраненных файлов HTML. У меня есть UIWebView
, правильно настроенный с UIWebViewDelegate
. Обычно, когда пользователь следует по ссылке, вызывается shouldStartLoadWithRequest
, а затем webViewDidFinishLoad
чуть позже.UIWebViewDelegate: webViewDidFinishLoad не вызывается во время навигации по странице
Но, если ссылка указывает на якорь на той же странице, что и отображаемая в данный момент, вызывается только shouldStartLoadWithRequest
. webViewDidFinishLoad
не срабатывает.
В некотором смысле я вижу, что это можно ожидать, потому что навигация по страницам не требует перезагрузки страницы. Тем не менее, мне действительно нужно место, чтобы подключиться к стеку вызовов после завершения навигации по странице. Оптимальное решение сообщит мне, когда какая-либо навигация закончилась, как с другой страницы, так и на странице и вперед/назад.
Мой лучший хакер до сих пор должен был позвонить performSelector: withObject: afterDelay:
в конце моего метода shouldStartLoadWithRequest
, но я не доволен этим.
Кто-нибудь знает, как я могу решить это правильно? Любое понимание оценили!
Я не вижу, чтобы shouldStartLoadWithRequest получал вызов для любого якорного щелчка, только полная загрузка страницы. Мне любопытно, изменилось ли это поведение, а если нет, я должен делать что-то неправильно. – Jason