我在应用程序中使用了UIWebView
,并且覆盖了shouldStartLoadWithRequest
消息以检测单击了哪种链接。如果它是“特殊”链接,则将UIViewController
推入堆栈,并从此方法返回NO。在大多数情况下,这只是花花公子。
但是,有时我单击一个链接,而我的shouldStartLoadWithRequest
从未被调用。现在很奇怪的是,容纳UIWebView
的UIViewController在UITabBarController
中,当我单击另一个选项卡时,UIWebView最终被调用了shouldStartLoadWithRequest
。在单击此其他选项卡之前,我不会打到shouldStartLoadWithRequest
的电话。另一个有趣的地方是,失败案例从未在我第一次单击链接时发生;它总是在随后的时间。
有人看过吗?对我来说,这听起来像UIWebView
有时没有得到touchEnded事件,并且通过切换选项卡,底层框架强制了touchEnded事件,这又导致我的shouldStartLoadWithRequest
被调用。
最佳答案
您是否正在实施
– webView:didFailLoadWithError:
UIWebViewDelegate的方法?也许您在请求中遇到错误,然后再也看不到它?当您遇到超时等问题时,应该抛出该委托。
关于iphone - UIWebView的shouldStartLoadWithRequest有时不调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8526804/