解决Tap手势和UITableView点击冲突
2016-07-05 22:31
441 查看
通常是在UIGestureRecognizer的代理函数中进行操作
两种思路:
根据touch的view的类型进行判断
根据touch点击point是否在目标view的frame中
两种思路,一般来说第二种适用性更广,尤其面对比较复杂的视图构成的情况。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
两种思路:
根据touch的view的类型进行判断
//example -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ //如果点击视图为uitableview 则忽略手势 // NSLog(@"view class:%@",[touch.view class]); if([touch.view isKindOfClass:[UITableView class]]){ return NO; } return YES; }
根据touch点击point是否在目标view的frame中
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ //注意:_touchView应该是_referenceView的子视图 CGPoint p = [touch locationInView:_referenceView]; //NSLog(@"frame:%@",NSStringFromCGPoint(p)); if(CGRectContainsPoint (_touchView.frame, p)){ return NO; } return YES; }
两种思路,一般来说第二种适用性更广,尤其面对比较复杂的视图构成的情况。
相关文章推荐
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- ios8 UITableView设置 setSeparatorInset UIEdgeInsetsZero不起作用的解决办法(去掉15px空白间距)
- iOS开发之UITableView与UISearchController实现搜索及上拉加载,下拉刷新实例代码
- iOS程序开发中设置UITableView的全屏分隔线的方法(不画线)
- 讲解iOS开发中UITableView列表设计的基本要点
- iOS应用开发中UITableView的分割线的一些设置技巧
- 实例讲解iOS应用开发中使用UITableView创建自定义表格
- iOS App开发中使用及自定义UITableViewCell的教程
- 全面解析iOS应用中自定义UITableViewCell的方法
- iOS App中UITableView左滑出现删除按钮及其cell的重用
- 详解iOS开发中UITableview cell 顶部空白的多种设置方法
- iOS开发中UITableview控件的基本使用及性能优化方法
- 详解iOS开发中UItableview控件的数据刷新功能的实现
- UITableView 实现汽车品牌(demo)
- 改变iOS应用中UITableView的背景颜色与背景图片的方法
- iOS开发之UITableView详解
- 详解iOS App中UITableView的创建与内容刷新
- IOS开发笔记(Swift):UITableView表格视图的静态使用
- IOS 9 UITableView整理
- UITableView 基本使用方法总结