【问题标题】:UIWebView's shouldStartLoadWithRequest doesn't called sometimesUIWebView 的 shouldStartLoadWithRequest 有时不会调用
【发布时间】:2012-01-21 13:05:08
【问题描述】:

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

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

有人看过吗?对我来说,这听起来像是 UIWebView 有时没有收到 touchEnded 事件,并且通过切换选项卡,底层框架会强制触发 touchEnded 事件,这反过来会导致我的 shouldStartLoadWithRequest 被调用。

【问题讨论】:

    标签: iphone ios uiwebview uiwebviewdelegate


    【解决方案1】:

    你在实施吗

    – webView:didFailLoadWithError:
    

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

    【讨论】:

    • 我是。我最终修改了这段代码以使用本机 UITableViews,所以这个问题现在有点没有意义了 :) 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2013-08-29
    • 2012-01-10
    相关资源
    最近更新 更多