点击UICollectionViewCell和UICollectionView空白处事件响应

简介: 点击UICollectionViewCell和UICollectionView空白处事件响应

有时候需要处理点击UICollectionView空白区域的事件,如果我们直接添加一个单击手势,就会发现,当点击UICollectionViewCell时,也是执行的单击手势的方法,而不是执行didSelectItemAtIndexPath;这时候可以通过手势代理方法解决,区分点击的是UICollectionView空白处,还是UICollectionViewCell。如下:

        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
        [_collectionView addGestureRecognizer:tap];
        tap.delegate = self;

同时遵循手势代理:UIGestureRecognizerDelegate

实现代理方法:

@interface BGBroadcastFriendView ()<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout,UITextFieldDelegate,UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

  //如果点击的是collectionView空白处,那么响应手势,接下去执行单击手势的方法即可
    if ([touch.view isKindOfClass:[UICollectionView class]]) {
        return YES;
    }

  //如果点击的是UICollectionViewCell,那么touch.view=UICollectionView,取消手势响应
    return  NO;
}

单击手势:

- (void)tap:(UITapGestureRecognizer *)gesture {
    [self endEditing:YES];
}

目录
相关文章
|
小程序 前端开发 JavaScript
小程序点击按钮出现和隐藏遮罩层
小程序点击按钮出现和隐藏遮罩层
212 0
|
6月前
|
Android开发 计算机视觉 iOS开发
多页面悬停控件和如何获得多UIWindow的页面UIWindow
多页面悬停控件和如何获得多UIWindow的页面UIWindow
38 1
CollectionView 单个选项卡的滑动
最近在做一个旅行类的项目,里面哟孤儿横向滑动的选项卡功能,乍一看设计图,感觉很简单。横向滑动,CollectionView的flowLayout有这个设置属性,分分钟搞定。后来需求要每次滑动一个选项卡。这就让我有点棘手了,因为心里知道这个应该是要自己去计算偏移量的问题了
|
Windows
模拟鼠标点击
模拟鼠标点击
186 0
|
XML API 数据格式
侧滑按钮
导入闭包 将以下语句倒入目录下build.gradle文件内
170 0
侧滑按钮
|
iOS开发 开发者
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
219 0
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
|
C# Windows
C#代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法
你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法:   要么重写需要弹出的窗体的事件: protected override CreateParams CreateParams     {     get     {         const ...
1209 0
UWP 取消GridView、ListView鼠标选中、悬停效果
原文:UWP 取消GridView、ListView鼠标选中、悬停效果 因为经常碰到ListView或者ListBox之类的选中、鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Template。
1192 0