1

次のジェスチャ レコグナイザーをビューに追加しました。

UIPinchGestureRecognizer *pch= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ViewPinching:)];
[[self view] addGestureRecognizer:pch];

// and

UIPanGestureRecognizer *d = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(ViewDragging:)];
[d setMinimumNumberOfTouches:4];
[[self view] addGestureRecognizer:d];

4 本の指がドラッグされたときにイベントを発生させたいのですが、そうすると、パン ジェスチャ レコグナイザーの代わりにピンチ ジェスチャ レコグナイザーが起動します。UIPinchGestureRecognizer が touches.count=2 の場合にのみ起動されるように制限すれば、この問題を解決できるのではないかと考えていました。

編集

これが実用的かどうかはわかりません。多分私は追加することができます:

 UIPinchGestureRecognizer *pch= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ViewPinching:)];
[[self view] addGestureRecognizer:pch];

2回のタッチがある場合、タッチが開始するたびに、そのイベントを追加し、ontouchesendedで削除します。

4

1 に答える 1

2

これは最終的には悪い考えです。iOS 5で4本の指をつまむとアプリが閉じ、4本の指でパンすると次のアプリに切り替わります(明らかにUXには適していません)。どうしても4本の指を使用する必要がある場合は、UIGestureRecognizerのサブクラスを作成し、ピンチロジックを自分で実行します。あなたのユースケースは非常にユニークなので、例がないことを前もってお詫び申し上げます。

于 2012-05-04T02:56:58.510 に答える