有時(shí)候我們會(huì)給tableView 添加tap手勢(shì)來完成某種動(dòng)作,但是發(fā)現(xiàn)添加手勢(shì)之后,點(diǎn)擊cell就會(huì)沒有反應(yīng),兩種點(diǎn)擊手勢(shì)發(fā)生了沖突
解決 :
給手勢(shì)添加代理delegate,然后UIGestureRecognizerDelegate的以下一個(gè)代理方法即可
pragma mark - UIGestureRecognizerDelegate
-
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
// 輸出點(diǎn)擊的view的類名
NSLog(@"%@", NSStringFromClass([touch.view class]));// 若為UITableViewCellContentView(即點(diǎn)擊了tableViewCell),則不截獲Touch事件
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}