0

UIPanGestureRecognizer と UIPinchGestureRecognizer の両方を同じビューに追加しています。通常、これで問題は発生しませんが、UIPanGestureRecognizer で 3 本の指が必要なため、問題が発生しています。

UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinched:)];
[self.view addGestureRecognizer:pinchGesture];

UIPanGestureRecognizer panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panning:)];
panGesture.minimumNumberOfTouches = 3;
panGesture.maximumNumberOfTouches = 3;
[self.view addGestureRecognizer:panGesture];

ときどき、パンが必要なときにピンチ ジェスチャが呼び出されることがあります。約 50% の確率で動作しますが、これら 2 つのジェスチャを同じビューに実装して精度を向上させるより良い方法は何でしょうか?

編集: 一度に 1 つのジェスチャのみが発生するようにします。

4

2 に答える 2

0

ジェスチャのデリゲートを自分自身に設定し、ViewController を設定して UIGestureRecognizerDelegate を実装します

そして、このメソッドを追加します:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}
于 2013-10-24T16:12:29.343 に答える
0

他の投稿にはタイプミスがあると思いますが、これを使用してください

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return NO;
}

これを追加して、開始したいジェスチャーの前に他のジェスチャーが失敗するようにします

requireGestureRecognizerToFail

于 2015-03-27T16:50:35.860 に答える