6

ピンチ ジェスチャが通常使用されると思われるスケーリングの代わりに、ピンチがピンチ インとピンチ アウトのどちらであったかを検出して、いくつかのテーブル セクションを折りたたんだり展開したりできるようにしたいと考えています。どうすればそれを行うことができますか?

4

3 に答える 3

11

「スケール」プロパティは、ピンチイン ジェスチャの場合は 1 未満で、ピンチアウトの場合は 1 より大きくなります。これは、2 本の指でのすべてのピンチで発生します。

私が観察したことは、5 本の指でピンチインした場合 (これはホームに最小化するためのショートカットです)、スケール値が毎回正確に 1.0 になることです。しかし、これは私が知っているどの Apple ドキュメントでもサポートされていません。

ピンチ処理セレクターに NSLog を入れるだけで、値がどうなるかを試すことができます

NSLog(@"Scale: %.2f | Velocity: %.2f",pinch.scale,pinch.velocity);
于 2012-12-26T22:11:05.800 に答える
8

なるほど、簡単そうです。このUIPinchGestureRecognizerクラスには、との 2 つのプロパティしかありません。マイナスは内向きのピンチ、プラスは外向きのピンチを意味するのは論理的に思えます。scalevelocityscalescale

注: 「ネガティブ」は誤解を招く可能性があります。「小さい」は0.0 < scale < 1.0、「大きい」はscale > 1.0です。

于 2012-06-24T13:35:02.527 に答える
3

scale プロパティを見るのは正しかったのですが、0 ではなく 1 を中心に切り替わります。

    - (BOOL) pinchWasOutwards:(UIGestureRecognizer *)gestureRecognizer
    {
        ジェスチャRecognizer.scale> 1を返します。
    }
于 2012-12-18T20:06:10.197 に答える