iphone - 有时不调用 UIWebView 的 shouldStartLoadWithRequest

标签 iphone ios uiwebview uiwebviewdelegate

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

但是,有时,我单击一个链接,但我的 shouldStartLoadWithRequest 永远不会被调用。现在奇怪的是,包含 UIWebView 的 UIViewController 位于 UITabBarController 中,当我单击另一个选项卡时,UIWebView 最终获得了它的 shouldStartLoadWithRequest叫。在单击其他选项卡之前,我不会收到对 shouldStartLoadWithRequest 的调用。另一个有趣的地方是,我第一次单击链接时不会发生失败情况;它总是在随后的时间。

有人看过吗?对我来说,这听起来像是 UIWebView 有时没有获得 touchEnded 事件,并且通过切换选项卡,底层框架正在强制执行 touchEnded 事件,这反过来导致我的 shouldStartLoadWithRequest接到电话。

最佳答案

你在实现

– webView:didFailLoadWithError:

来自 UIWebViewDelegate 的方法?也许您在请求时遇到错误,然后您再也看不到它了?当您遇到超时和其他问题时,应该抛出该委托(delegate)。

关于iphone - 有时不调用 UIWebView 的 shouldStartLoadWithRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526804/

相关文章:

iphone - 无法以编程方式更改 MFMailComposer 语言?

ios - 使用 NsRegularExpression 搜索和替换

ios - UIWebView scrollView 没有在触摸时调用 scrollViewDidScroll

iphone - 如何解决Instruments检测到的泄漏,其责任库是Apple的框架?

iphone - 如何将 NSString HTML 标记转换为纯文本 NSString?

iphone - 貌似是小错误 "Expected expression"但是找不到解决方法

ios - 如何在 swift 中迭代未知数量的嵌套级别的嵌套字典?

iphone - WebView :shouldStartLoadWithRequest:navigationType: not getting called on webkit with youtube video link iphone

iphone - 浏览器和应用程序的响应不同?

iphone - 为什么在触摸 View subview 时不调用 hitTest?