IOS 触摸 手势和tableView cell的点击冲突

刚开始 图片说明

书写的方法
// 触摸

  • (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {

    //取出touches集合元素
    UITouch *touch = [touches anyObject];
    NSLog(@"%@", touch);

    CGPoint point = [touch locationInView:self.view];
    // 打印point
    NSLog(@" point = %@", NSStringFromCGPoint(point));

}
打印
2015-05-06 14:48:54.859 XXHJect[18241:317948] 4444{127.5, 201}

我在View 添加 了tableView 图片说明

只会执行点击cell的方法 , 我在View 写的触摸方法 不走 ;

求大神解决 ,
我要让两个方法都走

问题描述的不清楚啊,能说清点嘛?

在父view上添加个子view, 子view会挡住触摸手势不会再传到父view上去,不过你可以在子view 上继承下面两个方法来获取触摸手势,这两个方法具体什么意思,你可以百度或者Google一下:

  • (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event; // recursively calls -pointInside:withEvent:. point is in the receiver's coordinate system
  • (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event; // default returns YES if point is in bounds
  • (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // if ([NSStringFromClass([touch.view class]) isEqualToString:@"PKProductMainListTableViewCellContentView"]) { // return NO; // } if ([touch.view isKindOfClass:[UITableViewCell class]]) { return NO; } return YES; }

触摸和cell的点击事件冲突了

触摸和cell的点击事件冲突了

(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // if ([NSStringFromClass([touch.view class]) isEqualToString:@"PKProductMainListTableViewCellContentView"]) { // return NO; // } if ([touch.view isKindOfClass:[UITableViewCell class]]) { return NO; } return YES; }

这个 也不怎么好使。哈哈。

我也遇到类似的问题,我是在view上添加了tap手势,然后冲突了,看到这个后正好解决了,多谢

是怎么解决的,可以分享一下吗,

if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;