UITableView 点击cell 不走didSelectRo

2016-10-18  本文已影响0人  汤玉阳Scofield

今天早晨遇到的一个小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;

}

}

如此两步 即可解决手势冲突

上一篇下一篇

猜你喜欢

热点阅读