shouldStartLoadWithRequest

shouldStartLoadWithRequest

我在应用程序中使用了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/

10-15 10:06