UIWebView があり、そのタッチを検出したいと考えています。(UITapGstureなどは使いたくない)
この目的のために UIApplication の sendEvent: メソッドを使用しており、タッチ オブジェクトに webview が含まれているかどうかを確認します。
驚いたことに、それは UIWebBrowserView を指しています。ブラウザを取得するにはスーパービューを確認する必要がありますが、ユーザーがタップするたびに sendEvent が呼び出されるため、コードが非常に非効率的になります。
コードスニペット :
- (void)sendEvent:(UIEvent *)イベント { [スーパー sendEvent:イベント]; NSSet *touches = [イベント allTouches]; if (touches.count != 1) 戻る; UITouch *touch = touches.anyObject if([touch.view isKindOfClass:[UIWebView クラス]]){ // これは失敗します } }
UIPdfView や UIWebBrowser ビューのような子ビューを返す代わりに、UITouch が WebView をオブジェクトとして返すようにする方法はありますか?