0

私は、ユーザーが長押ししてラジアル メニューを表示し、押し続けている間、上下左右にドラッグしてボタンを選択するアプリに取り組んでいます。

ユーザーがフィギュアをそのボタンにドラッグしたときにボタンの状態を変更したいのですが、私が遭遇している問題は、メインビューが longPress を登録するビューであることですが、タッチを登録するにはサブビューが必要です.

ジェスチャーやタッチを試しましたが、あまり成功しませんでした。どうにかしてデリゲート クラスを実装する必要があると思いますが、どこから始めればよいかわかりません。

4

1 に答える 1

0

複数のジェスチャーに使用する次のコードを試すことができます

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapWebView:)];
doubleTap.numberOfTapsRequired = 2;
doubleTap.delegate = self;
[self.webViewParent addGestureRecognizer:doubleTap];
[doubleTap release];

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapWebView:)];
singleTap.numberOfTapsRequired = 1;
[singleTap requireGestureRecognizerToFail:doubleTap];
singleTap.delegate = self;
[self.webViewParent addGestureRecognizer:singleTap];
[singleTap release];

ここでは、複数のジェスチャを使用するときに発生する競合を解決しました。あなたは使用することができます:

 [singleTap requireGestureRecognizerToFail:doubleTap];

複数の競合するジェスチャを使用する場合。

于 2013-10-08T06:00:26.120 に答える