Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从ImageView中分离点击事件_Iphone_Objective C_Cocoa Touch_Uiview_Uitapgesturerecognizer - Fatal编程技术网

Iphone 从ImageView中分离点击事件

Iphone 从ImageView中分离点击事件,iphone,objective-c,cocoa-touch,uiview,uitapgesturerecognizer,Iphone,Objective C,Cocoa Touch,Uiview,Uitapgesturerecognizer,我正在查看使用TapGestureRecognitor的位置。我正在使用TapGestureRecognitor进行单点和双击事件。到现在为止,一直都还不错。现在,我在视图的顶部添加了一个ImageView,图像视图框架是ImageView.frame=CGRectMake(50290205100) 现在,无论我在哪里点击视图,都会调用我的@selector。我只想跳过ImageView的点击事件。怎么做 我试着用 if(recognizer.state == UIGestureRecogniz

我正在查看使用TapGestureRecognitor的位置。我正在使用TapGestureRecognitor进行单点和双击事件。到现在为止,一直都还不错。现在,我在视图的顶部添加了一个ImageView,图像视图框架是
ImageView.frame=CGRectMake(50290205100)

现在,无论我在哪里点击视图,都会调用我的@selector。我只想跳过ImageView的点击事件。怎么做

我试着用

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

你需要检查接触点

if(!CGRectContainsPoint(image.view.frame, point))
   {
      //Do you work here
    }

你需要检查接触点

if(!CGRectContainsPoint(image.view.frame, point))
   {
      //Do you work here
    }
这样做:

if(recognizer.state == UIGestureRecognizerStateRecognized)
{
    CGPoint point = [recognizer locationInView:recognizer.view];
    if(CGRectContainsPoint(imageView.frame,point)
    {
       //igonre
    }
    else
    {
      // continue
    }
}
这样做:

if(recognizer.state == UIGestureRecognizerStateRecognized)
{
    CGPoint point = [recognizer locationInView:recognizer.view];
    if(CGRectContainsPoint(imageView.frame,point)
    {
       //igonre
    }
    else
    {
      // continue
    }
}

您必须执行此检查

if(!CGRectContainsPoint(image.view.frame, point))
  {
     //Complete your Work
   }

您必须执行此检查

if(!CGRectContainsPoint(image.view.frame, point))
  {
     //Complete your Work
   }

做这个…我希望这能帮助你

每当您点击屏幕时,此委托方法将调用

在这种方法中,请检查触摸和手势识别器将提供一些有关您轻敲的数据。。。。。 基于此,您可以继续

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    NSLog(@"%@",touch.description);
    NSLog(@"%@",gestureRecognizer.description);
}

做这个…我希望这能帮助你

每当您点击屏幕时,此委托方法将调用

在这种方法中,请检查触摸和手势识别器将提供一些有关您轻敲的数据。。。。。 基于此,您可以继续

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    NSLog(@"%@",touch.description);
    NSLog(@"%@",gestureRecognizer.description);
}