問題描述:
當頁面內容加載失敗時展現可以點擊重新加載的錯誤頁(點擊重新加載使用的是單擊手勢),當頁面重新加載成功出現tableViewCell後,移除錯誤頁,但點擊頁面仍然響應單擊手勢,而不是響應cell的點擊效果。
解決方案:
1、遵守手勢的協議 UIGestureRecognizerDelegate
2、實現其代理方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
// 若爲UITableViewCellContentView(即點擊了tableViewCell),則不截獲Touch事件(只解除的是cell與手勢間的衝突,cell以外仍然響應手勢)
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"])
{
return NO;
}
// 若爲UITableView(即點擊了tableView任意區域),則不截獲Touch事件(完全解除tableView與手勢間的衝突,cell以外也不會再響應手勢)
if ([touch.view isKindOfClass:[UITableView class]]
{
return NO;
}
return YES;
}