今天早晨遇到的一个小bug:点击cell不走didSelectRowAtIndexPath这个方法
原因是我在下面的scrollView上面加了一个手势 导致手势冲突
解决方法:
1、给手势设置代理
// 给scrollView添加手势
UITapGestureRecognizer *scrollViewtap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(scrollViewtapAction:)];
// 给手势设置代理
scrollViewtap.delegate = self;
[self.scrollView addGestureRecognizer:scrollViewtap];
2、在代理方法中判断点击的是否为tableViewCell
// 因为我在scrollView加了手势 点击tableView didSelectRowAtIndexPath不执行 导致手势冲突 可以用此方法解决
#pragma mark 解决手势冲突
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
} else {
return YES;
}
}
如此两步 即可解决手势冲突
网友评论