Я использую UIWebView
в своем приложении и перезаписываю сообщение shouldStartLoadWithRequest
, чтобы определить, по какой ссылке нажимают.Если это «специальная» ссылка, я помещаю UIViewController
в стек и возвращаю NO из этого метода.Это работает просто денди большую часть времени.
Иногда, однако, я нажимаю на ссылку, и мой shouldStartLoadWithRequest
никогда не вызывается.Что странно, так это то, что UIViewController, в котором находится UIWebView
, находится в UITabBarController
, и когда я нажимаю на другую вкладку, UIWebView, наконец, получает свой shouldStartLoadWithRequest
.Пока я не нажму эту другую вкладку, мне НЕ звонят на shouldStartLoadWithRequest
.Другой интересный момент заключается в том, что случай сбоя никогда не случается при первом нажатии на ссылку;это всегда в следующий раз.
Кто-нибудь видел это?Для меня это звучит так, как будто UIWebView
иногда не получает событие touchEnded, и, переключая вкладки, базовая структура вызывает событие touchEnded, которое, в свою очередь, вызывает мой shouldStartLoadWithRequest
для вызова.