1.遵守协议
UIGestureRecognizerDelegate
2.父视图的手势设置代理
UITapGestureRecognizer *fathertap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fateherviewtap)];
fathertap.delegate=self;
[self addGestureRecognizer:fathertap ];
3执行代理方法
-
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
// 输出点击的view的类名
NSLog(@"%@", NSStringFromClass([touch.view class]));// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}