質問

そこで、UIWebview をタッチ イベントに応答させたいと思いました。これに関するいくつかのトピックを読みました。UIWebView のサブクラスを作成し、それを UIViewController に追加し、IB 経由でリンクしました。私のサブクラスでは、タッチ終了をオーバーライドして [super touchEnded] を呼び出しました。役に立ちませんでした。hittest をオーバーライドしましたが、super も呼び出されません。

このコードをサブクラス化された UIWebView に追加すると、次のようになります。

@implementation UIWebView (CustomView)

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

NSLog(@"ヒット");

自分自身を返します。}

@end

その後、タッチはスーパークラスに転送されますが、ヒットテストは行われず(!)、さらにWebビューのスクロールが停止します。

そうですね、WebView 内のタッチを認識してそれを super に渡したいのですが、何が間違っているのでしょうか?

編集:

なぜこれほど多くの提案に「ヒットテスト」の使用が含まれているのか疑問に思っていますが、これにより Web ビューをスクロールできなくなります....何かアイデアはありますか?

役に立ちましたか?

解決

ここで私自身の質問に答えます - これは私が望んでいたものを実現したバージョンです: 正しい方法. 。これは、UIWindow をサブクラス化し、キャッチしたイベントを渡すことについてです。

以前の質問に対するいくつかの説明があれば嬉しいです :P

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top