2011-12-15 33 views
1

我在我的应用程序中使用了UIWebView,我重写了shouldStartLoadWithRequest消息以检测正在单击的链接类型。如果是“特殊”链接,我将UIViewController推入堆栈并从此方法返回NO。这在大多数时候都很正常。UIWebView的shouldStartLoadWithRequest有时不会调用

然而,有时候,我点击一个链接,我的shouldStartLoadWithRequest永远不会被调用。现在奇怪的是,容纳UIWebView的UIViewController在UITabBarController中,当我点击另一个选项卡时,UIWebView终于得到了它的shouldStartLoadWithRequest调用。在我点击这个其他标签之前,我没有打电话给shouldStartLoadWithRequest。另一个有趣的是,第一次点击链接时,失败案例从未发生过;它总是在随后的时间。

有没有人看到这个?对我来说,这听起来像UIWebView,有时,没有得到touchEnded事件,并通过切换标签,底层框架强制touchEnded事件,这反过来导致我的shouldStartLoadWithRequest被调用。

回答

0

你实现从UIWebViewDelegate的

– webView:didFailLoadWithError: 

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

+0

我当时是。我结束了重新编写代码以使用本机UITableViews,所以现在的问题是毫无意义的:)谢谢你的帮助。 – salil 2012-05-17 23:47:02

相关问题