页面加UIPanGestureRecognizer手势后,无法响应tableViewCell点击事件的解决办法

来源:互联网 发布:如何清空淘宝收藏夹 编辑:程序博客网 时间:2024/06/04 17:57


页面加UIPanGestureRecognizer手势后,无法响应tableViewCell点击事件的解决办法:


 直接在viewcontroller中加代理方法

 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{            // 输出点击的view的类名    NSLog(@" 输出点击的view的类名%@", NSStringFromClass([touch.view class]));       // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {        return NO;    }    return  YES;}


相关介绍来自  http://blog.csdn.net/namehzf/article/details/7424882


// 询问一个手势接收者是否应该开始解释执行一个触摸接收事件  - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{  //    CGPoint currentPoint = [gestureRecognizer locationInView:self.view];  //    if (CGRectContainsPoint(CGRectMake(0, 0, 100, 100), currentPoint) ) {  //        return YES;  //    }  //      //    return NO;            return YES;  }    // 询问delegate,两个手势是否同时接收消息,返回YES同事接收。返回NO,不同是接收(如果另外一个手势返回YES,则并不能保证不同时接收消息)the default implementation returns NO。  // 这个函数一般在一个手势接收者要阻止另外一个手势接收自己的消息的时候调用  - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{      return NO;  }    // 询问delegate是否允许手势接收者接收一个touch对象  // 返回YES,则允许对这个touch对象审核,NO,则不允许。  // 这个方法在touchesBegan:withEvent:之前调用,为一个新的touch对象进行调用  - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{      return YES;  }  


0 0
原创粉丝点击