将 TapGestureRecognizer 添加到除 UICollectionView 单元格之外的整个视图
Posted
技术标签:
【中文标题】将 TapGestureRecognizer 添加到除 UICollectionView 单元格之外的整个视图【英文标题】:Add a TapGestureRecognizer to whole view except UICollectionView cells 【发布时间】:2013-10-12 23:30:52 【问题描述】:我想添加一个 TapGestureRecognizer 来覆盖 UICollectionViewController 的整个屏幕,除了 UICollectionViewCell 单元格。
我得到的最接近的是
-(void) viewDidLoad
...
UITapGestureRecognizer *tapAnywhere = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(addBoard:)];
[self.collectionView addGestureRecognizer:tapAnywhere];
问题:当我点击一个单元格时,不会调用 prepareForSegue 方法。 UITapGestureRecognizer 似乎覆盖了单元格。
UICollectionViewController 中的哪个视图最适合附加 GestureRecognizer 以保留其默认单元格“点击以继续”功能?
【问题讨论】:
用这个***.com/questions/24701911/… 【参考方案1】:实现手势识别器委托方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
if ([touch.view isKindOfClass:[UICollectionViewCell class]]) //It can work for any class you do not want to receive touch
return NO;
else
return YES;
【讨论】:
这对我不起作用。相反,我检查了touch.view
是否是类 UICollectionView
并返回 YES
。以上是关于将 TapGestureRecognizer 添加到除 UICollectionView 单元格之外的整个视图的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 c# 将 TapGestureRecognizer 添加到从 JSON 创建的项目中?
使用 xib 将 tapGestureRecognizer 添加到自定义 UIView
当我尝试将 TapGestureRecognizer 添加到我的 UIImageView 时出现此错误:Unrecognized selector sent to class
在 UIView 中将 tapGestureRecognizer 添加到 UIImageView 并通过协议调用方法