我UIWebView
在我的应用程序中使用 a 并且我正在覆盖shouldStartLoadWithRequest
消息以检测正在单击的链接类型。如果它是“特殊”链接,我将 a 压入UIViewController
堆栈并从此方法返回 NO。这在大多数情况下都很有效。
然而,有时,我点击一个链接,但我shouldStartLoadWithRequest
从来没有被调用过。现在奇怪的是,包含它的 UIViewControllerUIWebView
位于 a 中UITabBarController
,当我单击另一个选项卡时,UIWebView 最终被shouldStartLoadWithRequest
调用。在我单击另一个选项卡之前,我不会接到shouldStartLoadWithRequest
. 另一个有趣的地方是,当我第一次点击链接时,失败的情况永远不会发生。它总是在随后的时间。
有人见过这个吗?对我来说,这听起来像是UIWebView
,有时,没有得到一个 touchEnded 事件,并且通过切换选项卡,底层框架正在强制一个 touchEnded 事件,这反过来又导致我shouldStartLoadWithRequest
被调用。