アプリでを使用してUIWebViewおり、メッセージをオーバーライドして、shouldStartLoadWithRequestクリックされているリンクの種類を検出しています。「特別な」リンクの場合はUIViewController、スタックにプッシュし、このメソッドから NO を返します。これはほとんどの場合、うまく機能します。
ただし、リンクをクリックしてshouldStartLoadWithRequestも呼び出されないことがあります。奇妙なのは、を収容する UIViewController があり、別のタブをクリックUIWebViewするUITabBarControllerと、最終的に UIWebView がshouldStartLoadWithRequest呼び出されることです。この別のタブをクリックするまで、への電話はありませんshouldStartLoadWithRequest。もう 1 つの興味深い点は、最初にリンクをクリックしたときに失敗するケースが発生しないことです。それは常に後続の時間にあります。
誰もこれを見たことがありますか?私には、これUIWebViewは touchEnded イベントを取得しない場合があり、タブを切り替えることによって、基礎となるフレームワークが touchEnded イベントを強制しているように聞こえます。これにより、 myshouldStartLoadWithRequestが呼び出されます。