UITapGestureRecognizer 和 UITableView/UICollectionView的cell点击事件冲突解决

UITableView 解决
/*1.遵守UIGestureRecognizerDelegate的协议*/
@interface ****ViewController ()
@end

/*2.Create GR对象,并且当前controller成为代理*/
-(void)viewDidLoad{
    UITapGestureRecognizer *tapGr = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapClicked:)];
    tapGr.delegate = self;
    [self.view addGestureRecognizer:tapGr];
}

/*3.实现这个代理方法*/
#pragma mark Delegate for the gestureRecognizer
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
        return NO;
    }
    return YES;
}

UICollectionView 处理
#pragma mark -UIGestureRecognizerDelegate
//判断是否是collectionCell 是的话不响应tap手势
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    if ([touch.view isDescendantOfView:self.collectVc]) {
        if ([self.collectVc indexPathForItemAtPoint:[touch locationInView:self.collectVc]]) {
            return NO;
        }
    }
    return YES;
}

学习网站整理

  • awesome-osx - 真棒OS X.
  • awesome-ios - 一个老外整理的,中文版。
  • awesome-ios-ui - 收集了不少iOS UI / UX库,包含了很多酷炫的动画效果。
  • ios-cosmos - iOS的宇宙:收录了iOS绝大部分的开源框架和工具。
  • Awesome Haskell资料大全 - Awesome Haskell资料大全:框架,库和软件。
  • 宇宙 - iOS的宇宙:收录了IOS绝大部分的开源框架和工具。
  • cocoacontrols - 收集了很多UI控件效果代码,缺点是需要访问外国网站,而且代码分类不够好。
  • lexrus - lexrus国内出名的iOS开源编码器,非常酷的标签动画,textfield动画。
  • open-source-ios-apps - iOS App集合,分:swift与Objective-C--国外人整理。
  • 适合iOS开发者的15大网站推荐 - 适合iOS开发者的15大网站推荐---英文网站。
  • Objective-C GitHub排名前100项目简介 - 主要对当前GitHub排名前100的项目做一个简单的简介,方便初学者快速了解到当前Objective-C在GitHub的情况。
  • Github上,iOS的备忘 -整理了比较常用的iOS的第三方组件,以及github上上的统计。
  • 超全!整理常用的iOS第三方资源 - 超全!整理常用的iOS第三方资源。
  • MyGithubMark - Github上的iOS资料 - 个人记录(持续更新)。
  • Github上的iOS开源项目 - Github上的iOS开源项目总结。
  • iOS资源大全English - iOS资源大全中文版。
  • iOSCookies.swift - 外国开发者弄了个Swift开源库,开源应用等超全资源整合网站!不得不说真用心啊!

你可能感兴趣的:(UITapGestureRecognizer 和 UITableView/UICollectionView的cell点击事件冲突解决)