0

私はを持っておりPageControl、各ページ(ViewController)には異なる数のimageviewsUIImageView)があり、動的に作成されます。

それぞれimageviewにが割り当てられますgesture recognizer (tapped or move)。これらはの中にあるので、ページへのイベントに干渉しないPageControlように有効/無効にしたいと思います。gesture recognizerswipe

方法があることは知っていremoveGestureRecognizerますが、毎回それを取り外したり取り付けたりしたくありません。有効化と無効化だけに相当するものはありますか?

ありがとう

4

3 に答える 3

3

次のようなUIGestureRecognizerの有効化または無効化プロパティを使用できます。

swipeGestureRecognizer.enabled = NO;

または、タッチしたくない場合は、ジェスチャレコグナイザーメソッドを使用してnullを返すことができます

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
       shouldReceiveTouch:(UITouch *)touch;
于 2013-03-27T04:28:40.203 に答える
2

すべてのジェスチャーを同時に無効にしたい場合は、次のようにすることができます

imageView.userIntractionEnabled = NO;

1つのジェスチャレコグナイザのみを無効にする場合は、

NSArray *gestures = imageView.gestureRecognizers;
for(UIGestureRecognizer *gesture in gestures)
{
    if([gesture isKindOfClass: [UITapGestureRecognizer class]])
    {
        gesture.enabled = NO;
    }
于 2013-03-27T04:36:37.040 に答える
1

userInteractionEnabledそのために無効にできますUIImageViewか?あなたがそのようにそれをしているなら、あなたはそれをInterface Builderで行うことができます、あるいはあなたはこれをそのようにプログラム的に設定することができます-imageView.userInteractionEnabled = NO;これが役立つことを願っています...

ここに画像の説明を入力してください

于 2013-03-27T04:25:38.150 に答える