0

ズーム用にカスタムのピンチジェスチャレコグナイザーを作成し、ScrollView'sViewControllerのメソッドでピンチタッチを処理します。

ただし、場合によっては、ScrollView通常の動作とまったく同じように動作させたいことがあります(ScrollViewに付属の標準のピンチジェスチャレコグナイザーを使用した場合)。

このような場合、カスタムジェスチャレコグナイザーをに渡すことができ、ScrollViewそのレコグナイザーを使用して通常どおりにビューを拡大縮小する方法はありますか?

ピンチアクションによってトリガーされるセレクターにジェスチャレコグナイザーを渡すことはできますか?

4

2 に答える 2

1

私はこれを試していませんが、ここにアイデアがあります:

独自のgestureRecognizerを設定する場合は、ScrollViewpinchGestureRecognizerをiVarに保存します。これで、gestureRecognizerと元のrecognizerを動的に交換できるようになります。

于 2012-06-28T17:07:04.043 に答える
0

iOS 5以降、UIScrollViewはpinchGestureRecognizerプロパティを公開していますが、これは読み取り専用です。代わりに独自のプロパティを使用するには、UIScrollViewをサブクラス化し、このプロパティを上書きする必要があります。これは、UIScrollViewが内部的にこのプロパティを使用して、ズームが有効になっているときにジェスチャレコグナイザーを追加することを期待しています。

ただし、スクロールビューのジェスチャレコグナイザをいじることは、特に動作を変更することは非常に危険です。別のデリゲートがあるだけでも、例外がトリガーされます。したがって、自己責任で進めてください。

于 2012-12-10T09:22:56.147 に答える