点击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];
}

目录
相关文章
|
1月前
|
Android开发 计算机视觉 iOS开发
多页面悬停控件和如何获得多UIWindow的页面UIWindow
多页面悬停控件和如何获得多UIWindow的页面UIWindow
23 1
|
10月前
3D模型工具栏-帮助弹窗
3D模型工具栏-帮助弹窗
MFC窗口右下角弹窗
MFC窗口右下角弹窗
90 0
|
XML API 数据格式
侧滑按钮
导入闭包 将以下语句倒入目录下build.gradle文件内
145 0
侧滑按钮
UGUI系列-鼠标移动到按钮上显示信息(Unity3D)
有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。 那么如何在UGUI上,鼠标移动上去显示文字说明呢。 大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制
|
iOS开发 开发者
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
190 0
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
|
Android开发
DIalog实现蒙版指引提示效果
DIalog实现蒙版指引提示效果
UWP 取消GridView、ListView鼠标选中、悬停效果
原文:UWP 取消GridView、ListView鼠标选中、悬停效果 因为经常碰到ListView或者ListBox之类的选中、鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Template。
1164 0