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 をオブジェクトとして返すようにする方法はありますか?