UITapGestureRecognizer的手势冲突

例如:一个UIScrollView中有若干个UITextfield,为了能在空白处点击能隐藏键盘,加了UITapGestureRecognizer事件,结果导致同样在UIScrollView里的UITableView接收不到didSelectRowAtIndexPath调用消息。

这个问题是因为,手势触发事件影响了touch事件,所以tableview不可以点击。
有百度到说设置cancelsTouchesInView为NO,好像没有啥效果。
下面重写UIGestureRecognizerDelegate中的接受事件的代理

 #pragmamark-UIGestureRecognizerDelegate
 -(BOOL)gestureRecognizer:
     (UIGestureRecognizer*)gestureRecognizershouldReceiveTouch:(UITouch*)touch{
    //若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
   if([NSStringFromClass([touch.viewclass])isEqualToString:@"UITableViewCellContentView"]){
    returnNO;
   }
    returnYES;
   }

你可能感兴趣的:(UITapGestureRecognizer的手势冲突)