TableView didSelectRowAtIndexPath 不执行

是因为被被其他控件覆盖了。

比如说:我在cell上有一个按钮,点击之后会弹出popView,popView是一个tableview,这个tableView的didSelectAtIndexPath会执行,但是下面那个主的TableView的代理方法就不会执行了。

解决方法:
1、父类事件设置代理

UIGestureRecognizer *tapGesture  
tapGesture.delegate = self;

2、覆盖方法

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

你可能感兴趣的:(TableView didSelectRowAtIndexPath 不执行)