1

UIWebView在我的应用程序中使用 a 并且我正在覆盖shouldStartLoadWithRequest消息以检测正在单击的链接类型。如果它是“特殊”链接,我将 a 压入UIViewController堆栈并从此方法返回 NO。这在大多数情况下都很有效。

然而,有时,我点击一个链接,但我shouldStartLoadWithRequest从来没有被调用过。现在奇怪的是,包含它的 UIViewControllerUIWebView位于 a 中UITabBarController,当我单击另一个选项卡时,UIWebView 最终被shouldStartLoadWithRequest调用。在我单击另一个选项卡之前,我不会接到shouldStartLoadWithRequest. 另一个有趣的地方是,当我第一次点击链接时,失败的情况永远不会发生。它总是在随后的时间。

有人见过这个吗?对我来说,这听起来像是UIWebView,有时,没有得到一个 touchEnded 事件,并且通过切换选项卡,底层框架正在强制一个 touchEnded 事件,这反过来又导致我shouldStartLoadWithRequest被调用。

4

1 回答 1

0

您是否正在实施

– webView:didFailLoadWithError:

来自 UIWebViewDelegate 的方法?也许您在请求中遇到错误,然后您从未看到它?当您遇到超时和其他问题时,应该抛出这个委托。

于 2012-02-21T21:50:05.943 回答