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