Интерфейс mustStartLoadWithRequest в UIWebView иногда не вызывается - PullRequest
1 голос
/ 16 декабря 2011

Я использую UIWebView в своем приложении и перезаписываю сообщение shouldStartLoadWithRequest, чтобы определить, по какой ссылке нажимают.Если это «специальная» ссылка, я помещаю UIViewController в стек и возвращаю NO из этого метода.Это работает просто денди большую часть времени.

Иногда, однако, я нажимаю на ссылку, и мой shouldStartLoadWithRequest никогда не вызывается.Что странно, так это то, что UIViewController, в котором находится UIWebView, находится в UITabBarController, и когда я нажимаю на другую вкладку, UIWebView, наконец, получает свой shouldStartLoadWithRequest.Пока я не нажму эту другую вкладку, мне НЕ звонят на shouldStartLoadWithRequest.Другой интересный момент заключается в том, что случай сбоя никогда не случается при первом нажатии на ссылку;это всегда в следующий раз.

Кто-нибудь видел это?Для меня это звучит так, как будто UIWebView иногда не получает событие touchEnded, и, переключая вкладки, базовая структура вызывает событие touchEnded, которое, в свою очередь, вызывает мой shouldStartLoadWithRequest для вызова.

1 Ответ

0 голосов
/ 22 февраля 2012

Реализуете ли вы метод

– webView:didFailLoadWithError:

из UIWebViewDelegate?Возможно, вы получаете сообщение об ошибке по запросу, а потом никогда его не видите?Этот делегат должен быть сброшен, когда у вас возникнут проблемы, такие как тайм-ауты и другие вещи.

...