在iOS5一下对于手势的识别能力并不强,比如iOS6上面按钮的一个tap事件,最先接收的是uiview,并相应,而不是最上面的button,这时候就需要判断手势所在的位置和手势所在的控制器了

如下例子:

在scrollview上add 了一个单击事件

singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];

[singletap setNumberOfTapsRequired:1];

[scrollview addGestureRecognizer:singletap];

这样点击按钮,不会响应按钮的事件,直接跳到handleSingleTap去了?

单击事件不是应该先被直接单击的subview处理,如果没有处理才提交到supview处理嘛?

怎么才能让按钮响应单击事件?

使用

UIGestureRecognizerDelegate的一个方法判断点击的是哪个view,确定是否响应事件。

singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];

[singletap setNumberOfTapsRequired:1];

singletap.delegate = self;

[scrollview addGestureRecognizer:singletap];

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if(touch.view != scrollview){
return NO;
}else
return YES;
} 可结合下面方法
//TODO: 当手势在 tableview位置时候阻止触摸事件向下传递
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
// if (oldPassword.superview!=nil) {
// NSLog(@"%@",touch.view); CGPoint point=[touch locationInView:clientTableview];
NSLog(@"%f,%f",point.x,point.y);
if (point.x&&point.x<clientTableview.frame.size.width && point.y && point.y< clientTableview.contentSize.height) {
returnNO;
}
return [supergestureRecognizer:gestureRecognizer shouldReceiveTouch:touch];; }

最新文章

  1. 阿里云linux ecs服务器配置apache+php环境
  2. 你真的会用java replaceAll函数吗?
  3. Android登录等待效果
  4. php访问mysql数据库
  5. 关于mina框架EMFILE: open too many files exception的处理
  6. 七中滤波方法测试matlab实现
  7. 实例源码--Android软件更新模块
  8. Datediff函数 助你实现不同进制时间之间的运算
  9. Object -C NSNumber -- 笔记
  10. phpcms v9开源开发框架基础mvc解读
  11. .net转php laraval框架学习系列(一) 环境搭建
  12. Laravel学习笔记
  13. 在ibatis下匹配特殊手机号码(oracle数据库)
  14. linux下debug工具
  15. hdu 5700区间交(线段树)
  16. linux 删除命令
  17. php 5.6,7.0静态方法调用和new调用方法性能差距
  18. Publisher/Subscriber
  19. [转] createObjectURL方法 实现本地图片预览
  20. Learning-Python【31】:操作系统基础知识

热门文章

  1. tabhost中activity跳转动画不显示的解决办法
  2. opencv学习笔记-图像叠加、混合
  3. [置顶] Array ArrayList LinkList的区别剖析
  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航
  5. Android中fragment_main.xml文件里的组件获取的问题
  6. 移植QT到ZedBoard(制作运行库镜像) 交叉编译 分类: ubuntu shell ZedBoard OpenCV 2014-11-08 18:49 219人阅读 评论(0) 收藏
  7. 怎样让HTML5调用手机摄像头拍照——实践就是一切
  8. Qt之XML(一) DOM
  9. iOS 复杂动画之抽丝剥茧
  10. python之enumerate枚举 第二篇(六):enumerate枚举