0

TapGestureRecognizerが使用されているビューがあります。シングルタップイベントとダブルタップイベントにTapGestureRecognizerを使用しています。ここまでは順調ですね。ビューの上部にImageViewを追加しました。画像ビューのフレームは、imageView.frame=CGRectMake(50,290,205,100);

これで、ビューをタップしているところならどこでも、@selectorsが呼び出されます。ImageViewのタップイベントのみをスキップしたい。どうやってするの ?

使ってみました

if(recognizer.state == UIGestureRecognizerStateRecognized)
{
    CGPoint point = [recognizer locationInView:recognizer.view];
}
4

4 に答える 4

2

このチェックを実装する必要があります

if(!CGRectContainsPoint(image.view.frame, point))
  {
     //Complete your Work
   }
于 2012-08-30T10:57:52.943 に答える
2

これを行う...これがあなたに役立つことを願っています...

画面をタップするたびに、このデリゲートメソッドが呼び出されます。

この方法では、タッチを確認してください。gestureRecognizerは、タッピングに関するいくつかのデータを提供します.....それに基づいて続行できます.....

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    NSLog(@"%@",touch.description);
    NSLog(@"%@",gestureRecognizer.description);
}
于 2012-08-30T10:57:58.380 に答える
1

タッチポイントを確認する必要があります、

if(!CGRectContainsPoint(image.view.frame, point))
   {
      //Do you work here
    }
于 2012-08-30T10:49:22.330 に答える
1

これを行う:

if(recognizer.state == UIGestureRecognizerStateRecognized)
{
    CGPoint point = [recognizer locationInView:recognizer.view];
    if(CGRectContainsPoint(imageView.frame,point)
    {
       //igonre
    }
    else
    {
      // continue
    }
}
于 2012-08-30T10:50:06.647 に答える